初学正则 1

134 阅读2分钟

初学正则 1

正则在工作中是很重要的,能让你少写很多无用的代码,提高工作效率。 正则中大写的字母基本都相当于小写字母的反义,如:\b 匹配单词边界 \B 匹配非单词边界

正则构造方式

  1. 字面量 const 变量名 = /表达式/模式修饰符
  2. 构造函数 const 变量名 = new RegExp('表达式','模式修饰符')

单个字符和数组

字符 说明
. 匹配除换行符之外的任意字符
[a-z0-9] 匹配方括号内得任意字符
[^a-z0-9] 匹配不在方括号里面的字符
\d 匹配数字
\D 匹配非数字
\w 匹配字母
\W 匹配非字母

空白字符

  • 匹配 | 字符 | 说明 | | ---- | ---- | | \o | null | | \b | 空格字符 | | \n | 换行符 | | \r | 回车 | | \s | 空白字符、空格、制表符、换行符 | | \S | 非空白字符 | | \t | 制表符 |

定位符

字符 说明
^ 行首匹配
$ 行尾匹配
\A 只匹配字符串的开始处
\b 匹配单词边界,词在[]内无效
\B 匹配非单词边界
\G 匹配当前搜索字符的开始
\Z 匹配字符串结束处或行尾
\z 只匹配字符串结束处

限定符

字符 说明
x? 匹配0个或一个x
x* 匹配0个或任意个x
x+ 匹配至少一个x
x{m,n} 匹配最少m个,最多n个x

分组

格式 说明
(?:x) 匹配x但不记录匹配结果
x(?=y) 当x的后面是y时,匹配x
x(?!y) 当x的后面不是y时,匹配x

或模式

格式 说明
x/y/z 匹配x或y或z

模式修饰符

格式 说明
g 全局模式,引用于所有字符串
i 区分大小写模式
m 多行匹配