正则表达式测试

//g

关于此工具

本正则测试工具让你实时构建和调试 JavaScript(ECMAScript)正则表达式。当你输入模式时,测试文本中的每一处匹配都会高亮显示,捕获分组会被列出,匹配总数也会显示——因此你能在把表达式写进代码前,清楚看到它的实际效果。 替换框可用 $1、$2 反向引用预览替换结果,内置常用预设(邮箱、URL、IPv4、日期等)为你提供起点,语法速查表随时提醒你写法。g、i、m、s、u 标志都可切换,观察各自对结果的影响。 一切都在浏览器中运行,使用与 Node.js 和浏览器本身相同的正则引擎,所以这里匹配到的,你的程序里也会匹配到。

使用步骤

  1. 在表达式框输入你的模式,或从预设开始。
  2. 输入或粘贴示例文本——匹配会实时高亮。
  3. 切换 g、i、m、s、u 标志,观察结果实时变化。
  4. 打开替换框,用 $1、$2 分组引用测试替换。

常见用途

  • 为邮箱、手机号或各类 ID 编写校验规则
  • 从日志行或自由文本中提取字段
  • 在整个代码库中执行前先测试查找替换
  • 通过即时可视化反馈学习正则语法

常见问题

它使用哪种正则语法?

使用 JavaScript(ECMAScript)正则表达式,与浏览器和 Node.js 中运行的一致。

这些标志(flags)是什么意思?

g 匹配所有结果,i 忽略大小写,m 让 ^ 和 $ 匹配行首行尾,s 让点号匹配换行。切换它们即可实时查看效果。

可以测试替换吗?

可以。输入带 $1、$2 等分组引用的替换字符串即可即时预览替换结果。

为什么不加 g 标志我的模式就匹配不到内容?

不加 g 时只会找到第一处匹配。高亮所有匹配和正确的匹配计数都依赖全局标志,所以打开它才能看到每一处匹配。

这些模式在 Python 或 PCRE 里也能用吗?

核心语法是通用的,但后行断言支持、命名分组、部分转义等细节在不同引擎间有差异。本工具使用 JavaScript 风格,移植到其他语言时请相应调整。