创建
var reg = new RegExp("ab+c","g");
var re = /ab+c/g;
最后的修饰符:
- g:global,全文搜索,不添加的话搜索到第一个结果停止搜索
- i:ingore case,忽略大小写,默认大小写敏感
- m:multiple lines,多行搜索
字符
元字符
正则中的元字符(在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符)需要加转义符\
( [ { \ ^ $ | ) ? * + .
字符 |
含义 |
\t |
水平制表符 |
\r |
回车符 |
\n |
换行符 |
\f |
换页符 |
\v |
垂直制表符 |
\0 |
空字符 |
字符集合[]
[]
匹配一个字符,可以使用破折号(-)来指定一个字符范围,比如[0-9]
匹配一个数字字符。对于点(.)和星号(*)这样的特殊符号在一个字符集中没有特殊的意义。[\b]
匹配一个退格(U+0008)。(不要和\b混淆了。)
取反^
^
创建反向类/负向类,反向类的意思是不属于XXX类的内容,表达式[^abc]
表示一个不是字符a或b或c的字符
预定义集合
字符 |
等价集合 |
含义 |
. |
[^\r\n] |
除了回车符和换行符之外的所有字符 |
\d |
[0-9] |
数字字符 |
\D |
[^0-9] |
非数字字符 |
\s |
[\t\n\x0B\f\r] |
空白符 |
\S |
[^\t\n\x0B\f\r] |
非空白符 |
\w |
[a-zA-Z_0-9] |
单词字符,字母、数字下划线 |
\W |
[^a-zA-Z_0-9] |
非单词字符 |
边界
字符 |
含义 |
^ |
匹配输入的开始 |
$ |
匹配输入的结束 |
\b |
单词边界 |
\B |
非单词边界 |
量词
字符 |
含义 |
? |
出现零次或一次(最多出现一次) |
+ |
出现一次或多次(至少出现一次) |
* |
出现零次或多次(任意次) |
{n} |
出现n次 |
{n,m} |
出现n到m次 |
{n,} |
至少出现n次 |
分组嵌套
前瞻
表达式 |
含义 |
exp1(?=exp2) |
匹配后面是exp2的exp1 |
exp1(?!exp2) |
匹配后面不是exp2的exp1 |
网友评论