Skip to content
字数
432 字
阅读时间
2 分钟

全面学习正则表达式 - 从原理到实战 - 掘金

有了这25个正则表达式,代码效率提高80% - 掘金

转义字符

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]+$/

贡献者

The avatar of contributor named as jiechen jiechen

页面历史

撰写