正则表达式测试
//g
关于此工具
本正则测试工具让你实时构建和调试 JavaScript(ECMAScript)正则表达式。当你输入模式时,测试文本中的每一处匹配都会高亮显示,捕获分组会被列出,匹配总数也会显示——因此你能在把表达式写进代码前,清楚看到它的实际效果。
替换框可用 $1、$2 反向引用预览替换结果,内置常用预设(邮箱、URL、IPv4、日期等)为你提供起点,语法速查表随时提醒你写法。g、i、m、s、u 标志都可切换,观察各自对结果的影响。
一切都在浏览器中运行,使用与 Node.js 和浏览器本身相同的正则引擎,所以这里匹配到的,你的程序里也会匹配到。
使用步骤
- 在表达式框输入你的模式,或从预设开始。
- 输入或粘贴示例文本——匹配会实时高亮。
- 切换 g、i、m、s、u 标志,观察结果实时变化。
- 打开替换框,用 $1、$2 分组引用测试替换。
常见用途
- 为邮箱、手机号或各类 ID 编写校验规则
- 从日志行或自由文本中提取字段
- 在整个代码库中执行前先测试查找替换
- 通过即时可视化反馈学习正则语法
常见问题
它使用哪种正则语法?
使用 JavaScript(ECMAScript)正则表达式,与浏览器和 Node.js 中运行的一致。
这些标志(flags)是什么意思?
g 匹配所有结果,i 忽略大小写,m 让 ^ 和 $ 匹配行首行尾,s 让点号匹配换行。切换它们即可实时查看效果。
可以测试替换吗?
可以。输入带 $1、$2 等分组引用的替换字符串即可即时预览替换结果。
为什么不加 g 标志我的模式就匹配不到内容?
不加 g 时只会找到第一处匹配。高亮所有匹配和正确的匹配计数都依赖全局标志,所以打开它才能看到每一处匹配。
这些模式在 Python 或 PCRE 里也能用吗?
核心语法是通用的,但后行断言支持、命名分组、部分转义等细节在不同引擎间有差异。本工具使用 JavaScript 风格,移植到其他语言时请相应调整。