开发者工具 / 20

正则标记解释器和模式分析工具

将JavaScript正则表达式拆解为通俗易懂的标记说明,涵盖捕获组、字符类和量词。

正则标记解释器和模式分析工具: TOEA会将正则表达式模式解析为单独的AST标记,并为每个组成部分生成通俗易懂的说明。 完全在浏览器中本地运行,文件不会上传到服务器。

使用次数
在浏览器中
费用
免费·无需注册
可用性
可直接使用
正则表达式标记解释器和模式分析器本地处理

完全在浏览器中运行

模式标记说明

标记类别说明
/i正则标志已启用标志:不区分大小写的匹配。
^锚点匹配字符串或行的开头。
(分组开始捕获组#1。
[a-z0-9_\.-]字符类匹配字符集[a-z0-9_\.-]中的任意单个字符。
+量词匹配前一个标记1次或多次(贪婪)。
)分组结束捕获组或非捕获组。
@字面量匹配字面字符'@'。
(分组开始捕获组#2。
[\da-z\.-]字符类匹配字符集[\da-z\.-]中的任意单个字符。
+量词匹配前一个标记1次或多次(贪婪)。
)分组结束捕获组或非捕获组。
\.字符类 / 转义转义字符'.'
(分组开始捕获组#3。
[a-z\.]字符类匹配字符集[a-z\.]中的任意单个字符。
{2,6}量词范围匹配明确的范围次数{2,6}。
)分组结束捕获组或非捕获组。
$锚点匹配字符串或行的末尾。

问号的多种作用

?的含义取决于它所在的位置。放在字符或分组之后时,它会使该字符或分组变为可选:colou?r。放在另一个量词之后时,它会让该量词变为懒惰匹配,尽可能少地匹配内容:<.+?>会在第一个>处停止,而<.+>会一直匹配到该行最后一个>。放在分组开头时,它会引入特殊语法:(?:…)创建不捕获内容的分组,(?=…)和(?!…)执行前瞻,(?<name>…)为分组命名。请结合?前面的内容一起理解它的作用。

简写字符类仅支持ASCII

在JavaScript中,\d只匹配0–9,\w只匹配无重音的拉丁字母、数字和下划线。因此,\w+会在café中找到caf,而\b会将带重音字母视为单词边界。对于其他语言的文本,请在使用u标志时采用[\p{L}\p{N}_]+这样的Unicode属性类。在正则表达式测试工具中,将修正后的模式用于真实示例文本进行测试。

模式和字符串中的转义

有14个字符具有特殊含义,需要使用反斜杠才能匹配其字面值:. * + ? ^ $ { } ( ) | [ ] \,此外,在/…/字面量中还包括/。使用new RegExp从字符串构建模式时,每个反斜杠都需要加倍,因此\d+会变成"\\d+"。如果某个模式作为字面量有效,但从字符串构建时无效,通常是因为过程中丢失了一个反斜杠。

使用方法

  1. 输入或粘贴JavaScript正则表达式(例如/^[a-z0-9]+$/i)。
  2. 点击“解释正则表达式”。
  3. 查看拆解表,了解锚点、字符类、组和标志。

隐私与限制

正则表达式的解析和说明完全在浏览器中进行。

相关工具

常见问题

哪些正则表达式功能会得到说明?

可说明锚点(^、$)、字符类(d、w、s、[a-z])、量词(*、+、?、{m,n})、捕获组和标志。

它会验证正则表达式语法吗?

会,语法错误会被立即捕获并报告。

免费工具·使用在浏览器中次·无需账户