正则表达式速查表 - 常用正则语法与模式大全

写正则时最常用、最容易忘的语法都在这里了,按字符、量词、分组、断言分好类,配实战示例,调校验和匹配规则时直接复制。

参考手册·共 48 条命令·最后更新 2026-08-02
返回 参考手册

字符类 Character Classes 10

[abc]
匹配 a、b 或 c 中任一个
[^abc]
匹配除 a、b、c 外的任意字符
[a-z]
匹配 a 到 z 的任意小写字母
d
数字,等价于 [0-9]
D
非数字
w
单词字符(字母、数字、下划线),等价于 [A-Za-z0-9_]
W
非单词字符
s
空白字符(空格、制表符、换行)
S
非空白字符
.
除换行外的任意单个字符

锚点 Anchors 8

^
匹配字符串开头
$
匹配字符串结尾

单词边界
B
非单词边界
(?=...)
正向前瞻:后面必须是 ... 但不消费
(?!...)
负向前瞻:后面不能是 ...
(?<=...)
正向后顾:前面必须是 ...
(?<!...)
负向后顾:前面不能是 ...

量词 Quantifiers 8

*
0 次或多次
+
1 次或多次
?
0 次或 1 次
{n}
恰好 n 次
{n,}
至少 n 次
{n,m}
n 到 m 次
*?
懒惰匹配:尽量少匹配(默认贪婪)
+?
懒惰的 1 次或多次

分组与捕获 Groups 6

(abc)
捕获分组,可在结果中取第 1 组
(?:abc)
非捕获分组,只用于组合不捕获
(?<name>abc)
命名捕获分组
a|b
匹配 a 或 b
\1
反向引用第 1 个捕获组
\k<name>
反向引用命名分组

转义与标志 Flags 7

\
匹配反斜杠本身
.
匹配字面点号(转义元字符)
/i
忽略大小写
/g
全局匹配(找出所有)
/m
多行模式,^ $ 匹配每行
/s
dotAll,让 . 也能匹配换行
/u
Unicode 模式

实战示例 Practical Patterns 5

[\w.+-]+@[\w-]+\.[\w.-]+
邮箱
https?://[\w./?=&#%-]+
URL(http/https)
1[3-9]\d{9}
中国大陆手机号
^\d{4}-\d{2}-\d{2}$
YYYY-MM-DD 日期
^[#\w-]{6,}$
至少 6 位密码(字母数字下划线连字符)

常见陷阱 FAQ 4

贪婪 vs 懒惰
<.*> 会吞掉整行;<.*?> 只匹配最短
点号不含换行
跨行匹配需加 /s 标志或用 [\s\S]
特殊字符要转义
元字符 . ^ $ * + ? ( ) [ ] { } | \ / 在字面使用时需前加 \ 转义
catastrophic backtracking
嵌套量词 (.+)+ 在长串上可能指数级回溯,避免

💡 提示

  • 默认量词贪婪,加 ? 变懒惰(<.*?> 只匹配最短)。
  • 点号 . 不含换行,跨行匹配需 /s 标志或 [\s\S]。
  • 元字符 . ^ $ * + ? ( ) [ ] { } | \ / 字面使用需转义。
  • 避免嵌套量词 (.+)+,长串上可能指数级回溯。

官方参考来源

命令整理自以下官方文档,点击核对最新用法。

由 LaoHand 维护

公开更新于 2026年8月2日,内容持续校对官方文档。

发现错误?反馈给我们

命令或描述有误?提交 issue 帮助我们修正。

发现错误?反馈给我们