js正则

2020-06-15  本文已影响0人  海豚先生的博客

常用的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'] 候选/或
上一篇下一篇

猜你喜欢

热点阅读