整理记录 RegExp 知识, 查漏补缺, 方便以后查阅.
正则表达式知识详解
正则表达式, 匹配的时候, 可以记忆匹配的字符, 在后面也可以使用
表示
- 字面表达式
var re = /pattern/flags; var re = /abd/i; - 构造函数
var re = new RegExp(‘pattern’, ‘flags’);
var re = new RegExp(‘abd’);
- 字面表达式
flags
- g 全局搜索
- i 不区分大小写
- m 多行
- y 执行粘性搜索, 匹配从目标字符串的当前位置开始
function
- replace
- test
- match
- split
- search
- exec
pattern
- 使用简单模式匹配
/anc/i - 使用特殊符号模式匹配
- 使用简单模式匹配
| 字符 | 含义 |
|---|---|
| * | 匹配前一个表达式0次或多次{0,} |
| + | 匹配前一个表达式1次或多次{1,} |
| ? | 匹配前一个表达式0次或1次{0,1} |
| ^ | 匹配输入的开始 |
| $ | 匹配输入的结束 |
| . | 匹配非换行符以外的任意字符 |
| (x) | 匹配x 并记住 x /(foo)(bar)\1\2/ 匹配’foo bar foo bar’; /(foo)(bar)\2\1/ 匹配’foo bar bar foo’ |
| (?:x) | 匹配x但不记住 x |
| x(?=y) | 匹配后面紧跟y 的 x |
| x(?!y) | 匹配后面不是 y 的 x |
| x/y | 匹配 x 或 y |
| [xyz] | 匹配一个字符集合, 仅匹配一个字符, xyz 中的一个字符 |
| [^a-z] | 匹配 非 a-z 中的字符 |
| [\b] | 匹配一个退格 |
| {n, m} | 匹配前面的字符至少 n 次, 至多 m 次 |
| \s | 匹配空白字符包括空格, 换行, 换页, 制表符 |
| \d | 匹配数字 |
| \w | 匹配一个单字符 [A-Za-z0-9_] |
| \n | n 是正整数, 指的(x)记忆的第 n 个字符, 在 replace 等中使用 $n |
| \b | 匹配边界 /a\b/ 匹配’abb’ 中的 a; /\ba/ 匹配’bba’ 中的 a |