常用的flag
字符 | 释义 |
---|---|
/i | (忽略大小写,ignore) |
/g | (全文查找出现的所有匹配字符,global) |
/m | (多行查找,multiLine) |
/ig | (全文查找、忽略大小写,ignore+global) |
正则预定字符
字符 | 效果 |
---|---|
\t | 制表符,“Tab”键 |
\r | 回车符,enter键 |
\n | 换行符 |
字符类
字符 | 效果 |
---|---|
. | 匹配换行符以外的任意字符 |
\d | 匹配所有数字 |
\D | 匹配非数字 |
\s | 匹配一个空格符 |
\S | 匹配非空格 |
\w | 匹配字母数字下划线=>其实就是匹配单词word(简单易懂) |
\W | 匹配!字母数字下划线=>就是不匹配单词 |
锚字符
锚字符 | 效果 |
---|---|
^ | 匹配字符串的开头,在多行检索中,匹配一行的开头 |
$ | 匹配字符串的结尾,在多行检索中,匹配一行的结尾 |
\b | 匹配一个单词的边界 |
\B | 匹配非单词边界 |
量词字符
代码 / 语法 | 说明 |
---|---|
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n, m} | 重复n到m次 |
贪婪模式和惰性模式(在后面加?即可变为惰性模式)
贪婪模式 | 表达式 |
---|---|
贪婪模式 | +,?,*,{n},{n,},{n,m} |
惰性模式 | +?,??,*??,{n}?,{n,}?,{n,m}? |
中括号
表达式 | 释义 |
---|---|
[abc] | 匹配任意一个 |
[^abc] | 不匹配任意一个,异或表达 |
[0-9a-zA-Z_] | 范围字符 |
小括号-分组
表达式 | 释义 |
---|---|
(abc) | /(abc)/g.test(abc) => 'abc' |
(abcab) | (ababc).match(/(ab)/) => ['ab','ab'] 分组 |
(abcab) | (abcab).match(/(ab|c)/) => ['ab','c','ab'] 候选/或 |
网友评论