正则表达式测试工具 — 免费在线

对示例文本测试正则表达式,实时高亮显示每一处匹配结果。

//
—

结果仅供参考,可能包含错误。请自行核实重要信息。使用本工具风险自负。

这个工具能做什么

正则表达式测试工具会在你输入时,用 JavaScript 正则表达式实时匹配你的文本。每个匹配项都会高亮显示,并显示匹配总数;如果模式中包含捕获组,还会列出每个匹配项中各组($1、$2 ...)的值。模式中若有语法错误,会立即显示错误信息而不是结果。

编写模式时不要加斜杠,并把 i(忽略大小写)、m(多行锚点)、s(点号匹配换行符)或 u(Unicode)等标志填入标志框中。g 标志总是会自动加上,所以测试工具会找出所有匹配项,而不会在第一个匹配处停下。一切都在你的浏览器中运行,使用的正是你的 JavaScript 代码所用的同一个引擎。

适用场景

  • 为表单字段编写验证模式,并用正确和错误的样本进行检验。
  • 在编写脚本之前,先从日志中提取日期、ID 或 URL。
  • 调试编辑器中基于正则的查找替换。
  • 用真实文本学习分组、锚点和量词的行为。

示例

输入

正则模式:(\d{4})-(\d{2})-(\d{2})
测试文本:Order #1042 shipped on 2026-03-14, order #1043 on 2026-03-15.

输出

2 matches
Match 1 groups: $1=2026 $2=03 $3=14
Match 2 groups: $1=2026 $2=03 $3=15

关于这个工具的问题

适用于 Python、PHP 或 Java 的正则吗?

基础部分(字符类、量词、分组、锚点)在大多数语言中都是一样的。但有些特性存在差异,例如对后行断言的支持和命名分组的语法,因此在依赖高级语法之前,请先在目标语言中进行测试。

为什么我的模式会多次匹配到空字符串?

像 a* 这样的模式可以匹配零个字符,因此在每个位置都能匹配成功。如果至少需要一个字符,请用 + 代替 *。

如何匹配字面意义上的点或方括号?

用反斜杠转义:\. 匹配点号,\[ 匹配左方括号。不加反斜杠时,. 会匹配任意字符。

可以测试替换效果吗?

测试工具显示的是匹配项和分组。要查看替换的效果,请在代码中使用这些分组,例如 text.replace(re, '$3/$2/$1'),再用文本差异对比工具比较替换前后的文本。

这个工具免费吗?

是的,完全免费。无需注册或电子邮箱。结果直接显示在本页。

如何获取结果?

在此页面使用工具即可查看结果,无需通过电子邮件接收。