语言
简体中文

正则校验

正则表达式实时匹配测试

例如 (?<name>\w+)
Flags
测试文本
在此输入或粘贴要匹配的文本...
匹配结果
输入正则表达式后将显示匹配结果
替换
可选,例如 $2, $1 或 $<name>
替换预览
可选,例如 $2, $1 或 $<name>

togotools.top 技术参考

技术参考

在浏览器本地实时测试正则表达式,查看匹配结果、捕获组和替换预览,支持全局、忽略大小写、多行等常用标志位,所有匹配运算均在本地完成。

标志与语法

g(全局)匹配所有结果,不只匹配第一个
i(忽略大小写)大小写不敏感匹配
m(多行)^ 和 $ 匹配每行的开头和结尾
s(dotAll)允许 . 匹配换行符
u(Unicode)正确处理 Unicode 码点和 astral 字符

示例:提取键值对

捕获组用 $1、$2 引用,可在替换框中直接使用。命名捕获 (?<key>...) 在支持的引擎中可用 $<key> 引用。

regex
正则:(\w+):(\w+)
输入:name:ada age:30 city:berlin
匹配:
  name:ada    -> $1=name $2=ada
  age:30      -> $1=age $2=30
  city:berlin -> $1=city $2=berlin

使用边界

  • 本工具使用 JavaScript 正则引擎,部分语法(如后向引用、原子组)与 PCRE/Python/Java 有差异。
  • 超大输入文本(超过 1MB)可能导致匹配变慢或浏览器卡顿。
  • 灾难性回溯(ReDoS)在复杂嵌套量词中可能发生,避免 (a+)+ 等模式。

常见问题

为什么我的正则在 Python 里能用但这里不行?

JavaScript 正则不支持部分 PCRE 特性,如后向引用 (?<=...)、命名组的 (?P<name>...) 语法(JS 用 (?<name>...))。请按 JavaScript 语法调整。

支持 Unicode 属性转义吗?

支持。开启 u 标志后可使用 \p{Letter}、\p{Number} 等属性转义。需要现代浏览器(ES2018+)。