正则表达式速查表 - 常用正则语法与模式大全
写正则时最常用、最容易忘的语法都在这里了,按字符、量词、分组、断言分好类,配实战示例,调校验和匹配规则时直接复制。
返回 参考手册字符类 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多行模式,^ $ 匹配每行
/sdotAll,让 . 也能匹配换行
/uUnicode 模式
实战示例 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日,内容持续校对官方文档。