这个工具是什么
正则表达式测试工具让你在浏览器里验证一条正则是否按预期匹配:输入表达式和待测文本,实时列出每处匹配的内容与位置,用来在写代码之前把规则调准。
什么时候用它
- 写表单校验(邮箱、手机号、身份证、密码强度)时,先在这把边界情况试一遍。
- 写日志解析、批量替换脚本前,确认捕获组的位置和数量对不对。
- 排查「线上匹配不到、本地能匹配」的问题,检查是不是标志位或转义写错了。
- 处理一大段文本时,试出正确的表达式再回代码里用,避免反复改代码重跑。
有什么限制
- 用的是 JavaScript 的正则引擎。同一写法在 PHP、Python、Java 里的行为和可用特性不一定相同,跨语言前请再核对一遍。
- 输入文本越长,匹配越慢;写法不当(例如
(a+)+b配上一长串a)会触发大量回溯,整个页面可能卡住。 - 不勾选全局标志时只返回第一处匹配,需要「全部匹配」请打开 g 标志。
- 正则只做文本匹配,不理解语义:它能判断字符串像不像日期,但判断不了这个日期是否真实存在。
常见问题
Q:为什么在本站能匹配,到 PHP 或 Python 里就不行了? A:各语言的正则引擎不同,转义规则、标志位写法、后行断言等特性的支持情况都有差异。这里是 JavaScript 引擎,请以目标语言的引擎为准。
Q:支持哪些标志位? A:支持 g(全局)、i(忽略大小写)、m(多行)、s(点号匹配换行)、u(Unicode)这几个常用标志。
Q:页面卡住没反应了怎么办? A:多半是表达式触发了灾难性回溯。刷新页面,先把待测文本换短一点,再逐步缩小表达式中会产生大量重复的片段。
Q:输入的内容会上传吗? A:不会。匹配在浏览器本地完成。