正则表达式测试器

在线调试正则表达式:左边填正则和待测文本,右边实时高亮每一处命中、列出匹配的索引与捕获组取值,并支持批量替换、生成六种语言的调用代码、按类查阅语法速查表。

工具界面在页面加载完成后显示在本段下方,可以直接使用。所有计算都在你的浏览器本地完成,输入的内容不会上传到服务器。

正则表达式测试器能做什么

在线调试正则表达式:左边填正则和待测文本,右边实时高亮每一处命中、列出匹配的索引与捕获组取值,并支持批量替换、生成六种语言的调用代码、按类查阅语法速查表。

怎么用正则表达式测试器

  1. 在左栏的正则输入框填入表达式(不含两侧的斜杠)
  2. 勾选需要的修饰符:g 全局、i 忽略大小写、m 多行、s 单行、u Unicode、v Unicode 集合
  3. 点「常用」里的预设(邮箱、手机号、日期、身份证、IPv4 等)可以一键填入配套的正则和示例文本
  4. 在左栏下方粘贴待匹配的测试文本,右栏会实时更新结果
  5. 在右栏切换标签查看:高亮预览、匹配列表、替换结果、代码生成、语法速查
  6. 需要替换时在左栏底部填入替换文本,支持 $1 引用捕获组,结果出现在「替换结果」标签里

示例

输入:

正则:(\w+)@(\w+)\.(com|cn)  文本:contact: hi@example.com

输出:

匹配数 1 | 位置 10–24 | 捕获组 1=hi 2=example 3=com

「匹配列表」标签会给出每条匹配的下标和全部捕获组的取值

使用技巧与注意点

常见问题

为什么我的断言或反向引用没结果显示?

结果区展示的是匹配、捕获组和命名分组。断言本身不产生匹配文本,反向引用的结果体现在捕获组的值上,需要在「匹配列表」里看每条匹配下面的捕获组。

支持哪些修饰符?

g、i、m、s、u、v 六个可勾选,另外固定带 d(用于取捕获组的精确下标)。默认勾选的是 g、s、u。

替换里的 $1 是什么意思?

指的是正则里第 1 个捕获组匹配到的内容。比如用 (\w+)@(\w+) 匹配邮箱、替换成 $2,结果就只剩下域名部分。除了 $1,$$ 表示一个字面量的 $,$& 表示整个匹配。

生成的代码能直接跑吗?

能。代码里的示例文本取的是你测试文本的第一行,正则和修饰符都按目标语言的写法做了转换。要注意 Go 用的是 RE2 引擎,不支持反向引用和环视,这类正则粘过去会在编译时报错。

测试文本会上传吗?

不会。匹配、替换、示例生成和铁路图渲染全部在浏览器本地完成,不联网。

正则写错了会怎样?

正则输入框会标红并在下方显示具体的语法错误信息,右栏也不会输出匹配。修正后自动恢复。

相关工具

同类文本处理工具

查看全部文本处理工具