正则表达式解释器
粘贴正则表达式,即可得到逐个标记的大白话解释,并检查它在 JavaScript 中是否有效,同时显示捕获组和实时测试结果。
正则表达式非常浓缩:十来个字符里就可能藏着一个先行断言、一个懒惰量词和两个捕获组。这个解释器会把正则拆成一个个标记,用大白话逐个说明,并用缩进表示它属于哪个分组。它还会告诉你该正则能否在 JavaScript 中编译,标出只在 PCRE、Python 或 Java 中才有效的语法,并对测试字符串运行,让你看到匹配结果和每个捕获组。
使用方法
- 粘贴正则——可以只粘贴正则本身,如 \d{3}-\d{4},也可以粘贴 JavaScript 字面量,如 /\d+/gi。
- 如果标志不在字面量中,请另外添加。
- 也可以输入测试字符串,查看第一个匹配及其分组。
- 点击“计算”。从上到下阅读解释表,缩进的行位于分组之内。
计算公式
正则 → 标记(字面量、转义、字符类、分组、量词、锚点、分支)→ 每个标记一行大白话。
{2,} 或 +? 这样的量词单独占一行,并且总是作用于它正上方的那一项。有效性检查使用你浏览器自带的引擎(new RegExp),所以“在 JavaScript 中是否可用:是”表示该正则确实可以在那里编译。Unicode 集合和限定范围的修饰符语法不在这个标记分析器的覆盖范围内,请改用“正则转自然语言”工具。计算在 Worker 中运行,两秒后停止。
示例
默认的邮箱正则 ^(?<user>[\w.+-]+)@((?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,})$ 的解释如下:字符串开头;名为 "user" 的捕获组 1,包含一个或多个单词字符、点、加号或连字符;一个 "@";捕获组 2,包含一次或多次“标签加点”的重复,再加两个或更多字母;字符串结尾。它有 2 个捕获组,对 ada.lovelace+news@example.co.uk,分组 1 捕获 ada.lovelace+news,分组 2 捕获 example.co.uk。
常见问题
它解释的是哪种正则风格?
以 JavaScript 为准,因为这是你的浏览器运行的内容。常见的 PCRE、Python 和 Java 语法——原子组、占有量词、\A、(?P<name>…)、内联 (?i)——都能识别,并标注为 JavaScript 中不可用。
为什么对 \A 也显示“在 JavaScript 中是否可用:是”?
没有 u 标志时,JavaScript 会把 \A 这样的未知转义当作普通字母 A,所以正则可以编译,但含义不同。解释中会对此发出警告。
它会解释这个正则能匹配什么文本吗?
它会解释每个标记,合起来就是这条规则。要查看实际行为,请使用测试字符串:会显示第一个匹配和每个捕获组。
我的正则会被发送到别处吗?
不会。标记分析和测试都在你的浏览器中本地运行。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/regex-explainer/
引用此工具
kakaoCalc. (2026, November 8). 正则表达式解释器. https://kakao.mobile/zh/tools/regex-explainer/
“正则表达式解释器.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/regex-explainer/.