JS 正则表达式
* | 任意字符(除换行符以外:\n,\r,\u2028) | /…/.test(‘1a@’) |
---|---|---|
\d | 数字 0-9 | /\d\d\d/.test(‘123’) |
\D | 非 \d | /\D\D\D/.test(‘AB’) |
\w | 数字 0-9,或字母a-z及A-Z,或下划线 | /\w\w\w/.test(‘a11_’) |
\W | 非 \w | /\W \W \W /.test(’@!#’) |
\s | 空格符、TAB、换页符、换行符 | /\sabc /.test(’ abc’) |
\S | 非 \s | |
\t \r \n \v \f tab | 回车 换行 垂直制表符 换页符 | |
[…] | 字符范围 | [0-9] [a-z] [A-Z0-9a-z] |
[ ^…] | 字符范围以外 | [ ^a-z] |
^ | 行首(以什么开头) | ^a |
$ | 行尾(以什么结尾) | test$ |
\b | 零宽单词边界 | \bno |
\B | 非 \b | |
(x) | 分组,并纪录匹配到的字符串 | /(abc)/ |
\n | 表示使用分组符(x) 匹配到的字符串 | /(abc)\1/.test(‘abcabc’) |
(?:x) | 仅分组 | /(?:abc)(def)\1/.test(‘abcdefdef’) |
x* x+ | 重复次数 >=0 重复次数 > 0 贪婪算法 | abc* 将匹配 ab、abc、abccccc; abc+ 将匹配 abc、abcccc,不匹配 ab |
x*? x+? | 同 x*,x+ 非贪婪算法,尽可能少的匹配 | abc*? 在字符串 abcccccc 中将匹配 ab,abc+? 将匹配 abc |
x? | 出现 0次或 1 次 | |
x | y | x 或者 y |
x{n} x{n,} x{n, m} | 重复 n 次,重复 >= n 次,重复 n-m次 |
- 三个 Flag
– g 全局
– i 忽略大小写
– m 换行也匹配
- \ 进行转义,如:\ . 转义 .
正则相关方法
- RegExp对象相关方法
- String相关方法