字数
432 字
阅读时间
2 分钟
转义字符
js
\w 匹配任何一个字母或者数字或者下划线
\W 匹配任何一个字母或者数字或者下划线以外的字符
\s 匹配空白字符,如空格,tab等
\S 匹配非空白字符
\d 匹配数字字符,0~9
\D 匹配非数字字符
\b 匹配单词的边界
\B 匹配非单词边界RegExp 的 exec 方法
如果匹配失败,exec() 方法返回 null,并将正则表达式的 lastIndex 重置为 0 。
如果匹配成功,exec() 方法返回一个数组,并更新正则表达式对象的 lastIndex 属性。完全匹配成功的文本将作为返回数组的第一项,从第二项起,后续每项都对应一个匹配的捕获组。数组还具有以下额外的属性:
- index
匹配到的字符位于原始字符串的基于 0 的索引值。 - input
匹配的原始字符串。 - groups
一个命名捕获组对象,其键是名称,值是捕获组。若没有定义命名捕获组,则 groups 的值为 undefined
引用
引用的语法是\数字,数字代表引用前面第几个捕获分组,注意非捕获分组不能被引用
javascript
<([a-z]+)><\/\1> // 可以匹配 `<span></span>` 或 `<div></div>`等图形化工具
网址:JavaScript Regular Expression Visualizer
正则常用匹配实例
邮箱
/^[0-9a-zA-Z_]+@[0-9a-zA-Z]+\.[a-z]+$/