初学正则 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 |
或模式
模式修饰符
| 格式 |
说明 |
| g |
全局模式,引用于所有字符串 |
| i |
区分大小写模式 |
| m |
多行匹配 |