JavaScript 正则表达式速查表

星隐

正则表达式速查表

JavaScript 正则表达式速查表

普通字符

表达式 说明
.[^\n\r] 任意字符,不包括换行符或回车符
[A-Za-z] 字母
[a-z] 小写字母
[A-Z] 大写字母
\d[0-9] 数字
\D[^0-9] 非数字
_ 下划线
\w[A-Za-z0-9_] 字母、数字或下划线
\W[^A-Za-z0-9_] \w 的反义,即非字母、数字或下划线
\S \s 的反义,即非空白字符

空白字符

表达式 说明
(空格) 空格
\t 制表符(Tab)
\n 换行符
\r 回车符
\s 空格、制表符、换行符或回车符

字符集

表达式 说明
[xyz] 匹配 xyz 中的任意一个
[^xyz] 匹配除 xyz 之外的任意字符
[1-3] 匹配 123 中的任意一个
[^1-3] 匹配除 123 之外的任意字符
  • 字符集可视为方括号内单个字符的“或”操作。
  • 在开头的 [ 后使用 ^ 表示取反,即匹配不在字符集内的字符。
  • 字符集中,. 表示字面上的句点字符。

需要转义的字符

字符集外

表达式 说明
\. 句点
\^ 脱字符(插入符号)
\$ 美元符号
` `
\\ 反斜杠
\/ 斜杠
\( 左圆括号
\) 右圆括号
\[ 左方括号
\] 右方括号
\{ 左花括号
\} 右花括号

字符集内

表达式 说明
\\ 反斜杠
\] 右方括号
  • ^ 仅在紧跟 [ 后时需要转义。
  • - 仅在位于两个字母或两个数字之间时需要转义。

量词

表达式 说明
{2} 恰好出现 2 次
{2,} 至少出现 2 次
{2,7} 出现 2 到 7 次(含 2 和 7)
* 出现 0 次或多次
+ 出现 1 次或多次
? 出现 0 次或 1 次
  • 量词位于被量化表达式的后面

边界

表达式 说明
^ 字符串开头
$ 字符串结尾
\b 单词边界
  • 单词边界匹配规则:
    • 字符串开头且第一个字符为 \w
    • 字符串中相邻字符间,前一个为 \w,后一个为 \W
    • 字符串结尾且最后一个字符为 \w

匹配

表达式 说明
`foo bar`
foo(?=bar) 匹配紧跟 bar 之前的 foo
foo(?!bar) 匹配不紧跟 bar 之前的 foo
(?<=bar)foo 匹配紧跟在 bar 之后的 foo
(?<!bar)foo 匹配不紧跟在 bar 之后的 foo

分组与捕获

表达式 说明
(foo) 捕获组;匹配并捕获 foo
(?:foo) 非捕获组;匹配 foo,但不捕获
(foo)bar\1 \1 是对第 1 个捕获组的反向引用;匹配 foobarfoo
  • 捕获组仅在以下方法中有意义:
    • string.match(regexp)
    • string.matchAll(regexp)
    • string.replace(regexp, callback)
  • \N 表示对第 N 个捕获组的反向引用,捕获组编号从 1 开始。

参考资料与工具

  • 标题: JavaScript 正则表达式速查表
  • 作者: 星隐
  • 创建于 : 2025-10-21 21:23:03
  • 更新于 : 2026-01-19 01:58:27
  • 链接: https://www.starin.top/post/7140b31adb2c/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。