🔎 正则表达式测试器
🔒 本工具完全在你的浏览器里运行,输入内容不会上传到任何服务器。
ℹ️ 计算与转换结果仅供参考;用于生产环境、财务、法务等重要场合前,请自行复核。
高亮结果
匹配与分组
替换预览
这是什么
正则表达式是描述“文本长什么样”的小语言,用来查找、校验和批量替换文本。写正则最好边写边试:本工具把表达式放在测试文本上实时运行,用颜色标出每一处匹配,并在表格里列出匹配位置、每个括号捕获的内容和命名分组。表达式有语法错误时,会用中文指出是括号没闭合、量词前面没有内容,还是字符范围写反了。
怎么用
先点上方的常用模板(手机号、邮箱、日期、IPv4、网址等)看现成例子,再改成自己的写法。输入框里不要写两侧的斜杠,标志位用复选框选择。需要批量改写时,在“替换为”里用 $1、$2 引用分组,预览区会显示替换后的文本。
示例
默认的 (\d{4})-(\d{2})-(\d{2}) 用三个括号分别捕获年、月、日,对“2026-10-23”得到 2026、10、23;替换为 $3/$2/$1 后变成“23/10/2026”。把表达式改成 \d{4}-\d{2}-\d{2},就不再有分组,只高亮整体匹配。
注意事项
本工具使用浏览器自带的 JavaScript 正则引擎,与 Python、Java、PCRE 大体相同但有差异,例如不支持 (?i) 这类内联标志。超过 1.5 秒仍未完成的匹配会被中止,通常说明表达式存在“灾难性回溯”。结果仅供参考,用于校验用户输入等重要场合,请再做充分测试。想系统学习写法,可以读《正则表达式入门:从 10 个常用例子学会读和写》。
常见问题
为什么我的表达式在别的语言里结果不同?
不同语言的正则引擎在内联标志、环视、命名分组写法上有差别。本工具使用浏览器的 JavaScript 引擎,只能保证与 JavaScript 一致。
输入的文本会被上传吗?
不会。匹配全部在你的浏览器本地完成,页面不向任何服务器发送你输入的表达式和文本。
为什么只高亮了第一个匹配?
没有勾选 g 标志时只会找第一个匹配。勾选“g 全部匹配”即可找出全部。
表达式运行太久被中止是什么原因?
多半是嵌套的量词(例如 (a+)+b)在无法匹配时反复回溯。把表达式改得更具体,或限制重复次数,可以避免。