调试 flags 和捕获组
对比 m/s/u/y 等开关如何改变同一个表达式在 JS 中的行为。
使用指南
正则测试器直接用浏览器 JavaScript RegExp 构造用户表达式,支持 g i m s u y 六个可切换标志。结果区列出匹配位置、文本、编号/命名捕获组,并可输入 replacement 查看 JavaScript String.replace() 的真实替换结果。
更新于 2026-09-10约 2 分钟读完
/ 的 pattern,并勾选需要的 flags。$1、$<name> 等按 JS 替换语义处理。| 输入 | 输出 | 说明 |
|---|---|---|
\d+ + g |
所有数字段 | g 全局匹配 |
^a + m |
每行开头的 a | 多行锚点 |
(a)(b) + $2$1 |
ba |
replacement 使用捕获组 |
d 标志取得捕获组索引,旧浏览器不支持时自动退回;这不改变用户可见 flags。g,但若用户没有勾 g,显示逻辑仍只保留第一处;replacement 则严格使用用户原 flags,因此无 g 只替换第一处。lastIndex,避免循环卡死;最多收集 1000 个匹配。对比 m/s/u/y 等开关如何改变同一个表达式在 JS 中的行为。
先在本地测试 $1 或命名捕获替换,再放进代码或编辑器批处理。
因为工具使用浏览器 JavaScript RegExp,只接受该运行时支持的 ECMAScript 正则语法。
不会。那些只是正则样例,用于检查字符串形态,不验证号码真实性或归属。
pattern、测试文本和替换内容只在浏览器本地执行,不上传、不保存。
更新于 2026-09-10
正则表达式在线测试,匹配高亮、捕获组、替换预览与常用速查
客服电话 13812345678,备用 15987654321,座机 010-12345678 不匹配。
| # | 位置 | 匹配文本 | 捕获组 |
|---|---|---|---|
| 1 | 5-16 | 13812345678 | — |
| 2 | 20-31 | 15987654321 | — |
支持 $1、$&、$<组名> 等引用语法;未开启 g 时只替换第一处
点击即可填入表达式与示例文本