初学正则 1
正则在工作中是很重要的,能让你少写很多无用的代码,提高工作效率。
正则中大写的字母基本都相当于小写字母的反义,如:\b 匹配单词边界 \B 匹配非单词边界
正则构造方式
- 字面量
const 变量名 = /表达式/模式修饰符
- 构造函数
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 | 多行匹配 |