📋 正则表达式速查表

交互式正则表达式参考表,附带实时模式测试器

零依赖 · 可离线使用

🧪 实时正则测试器

🔤 字符类

.任意字符(除换行符)
\d数字 [0-9]
\D非数字 [^0-9]
\w单词字符 [a-zA-Z0-9_]
\W非单词字符
\s空白字符(空格、制表符、换行)
\S非空白字符
[abc]a、b 或 c 中的任意一个
[^abc]非 a、b、c 的任意字符
[a-z]字符范围 a 到 z

🔢 量词

*0 次或多次(贪婪)
+1 次或多次(贪婪)
?0 次或 1 次(可选)
{n}恰好 n 次
{n,}n 次或更多
{n,m}n 到 m 次
*?0 次或多次(惰性)
+?1 次或多次(惰性)
??0 次或 1 次(惰性)

📍 锚点与边界

^字符串/行首
$字符串/行尾
\b单词边界
\B非单词边界

📦 分组与引用

(abc)捕获分组
(?:abc)非捕获分组
(<name>abc)命名捕获分组
\1引用第1组
\k<name>引用命名分组
|交替(或)

👁️ 断言

(?=abc)正向先行断言
(?!abc)负向先行断言
(<=abc)正向后行断言
(<!abc)负向后行断言

⚡ 特殊字符

\转义特殊字符
\n换行符
\t制表符
\r回车符
\xHH十六进制字符
\uHHHHUnicode 字符

🚩 标志位

g全局 — 查找所有匹配
i忽略大小写
m多行 — ^ 和 $ 匹配行边界
sDotall — . 匹配换行符
uUnicode — 启用 Unicode 支持
y粘性 — 从当前位置匹配

什么是正则表达式速查表?

正则表达式速查表是一个免费的在线交互式正则表达式参考工具。它提供了正则元字符、量词、锚点、分组、断言和标志位的完整速查表,并附带实时模式测试器。点击参考表中的任意模式即可插入到测试器中。所有处理在浏览器本地完成。

核心功能

常用正则表达式模式

邮箱:/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/

URL:/^https?:\/\/(www\.)?[a-zA-Z0-9-]+\.[a-zA-Z]{2,}(\/\S*)?$/

手机号:/^1[3-9]\d{9}$/

IP地址:/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/

正则表达式最佳实践

不需要引用分组时使用非捕获分组 (?:...)。单字符优先使用字符类而非交替([abc] 优于 a|b|c)。使用锚点(^ 和 $)防止部分匹配。注意贪婪量词在大文本上可能导致灾难性回溯。用空字符串和特殊字符等边界情况测试你的模式。

❓ 常见问题

什么是正则表达式?

定义搜索模式的字符序列,用于字符串匹配、验证和文本解析。

贪婪量词和惰性量词的区别?

贪婪(*、+)尽可能匹配更多,惰性(*?、+?)尽可能匹配更少。

什么是先行/后行断言?

零宽断言,检查后续/前置内容但不消费字符。

数据是否上传服务器?

不会。所有正则测试在浏览器本地完成。

支持哪种正则引擎?

JavaScript ECMAScript RegExp,大多数模式与 PCRE、Python、Java 兼容。

如何转义特殊字符?

用反斜杠:\. 匹配字面点号,\\ 匹配字面反斜杠。