正则表达式
更详细的文档可参考正则文档
练习正则可使用正则测试网站
限定符
符号 | 备注 |
---|---|
? | 字符出现0次或1次 |
* | 字符出现0次或n次 |
+ | 字符出现1次或n次 |
{n} | 字符出现n次 |
{n,m} | 字符出现n到m次 |
{n,} | 字符最少出现n次 |
{,m} | 字符最多出现m次 |
限定符只能查找单个字符出现的次数,如果要查找多个字符出现的次数可以使用
()
包裹,例如:sh# abc出现1次或多次 (abc)+
元字符
符号 | 备注 |
---|---|
\d | 数字字符 |
\w | 单词字符:英文数字及下划线 |
\s | 空白符:包含换行符和tab |
\D | 非数字字符 |
\W | 非单词字符 |
\S | 非空白符 |
. | 任意字符:不包含换行符 |
^ | 匹配行首 |
$ | 匹配行尾 |
\b | 匹配单词边界 |
贪婪匹配与懒惰匹配
贪婪匹配会匹配尽可能多的字符,懒惰匹配则会匹配尽可能少的字符
js
let str='<div><span>123</span></div>'
let reg=/<.+>/g
let reg2=/<.+?>/g
console.log(str.match(reg)) //['<div><span>123</span></div>']
console.log(str.match(reg2)) // ['<div>', '<span>', '</span>', '</div>']