跳到主要内容

正则表达式测试工具

在线测试正则表达式,实时查看全部匹配与位置。

按需求生成正则

共匹配 0 处:

这个工具是什么

正则表达式测试工具让你在浏览器里验证一条正则是否按预期匹配:输入表达式和待测文本,实时列出每处匹配的内容与位置,用来在写代码之前把规则调准。

什么时候用它

  1. 写表单校验(邮箱、手机号、身份证、密码强度)时,先在这把边界情况试一遍。
  2. 写日志解析、批量替换脚本前,确认捕获组的位置和数量对不对。
  3. 排查「线上匹配不到、本地能匹配」的问题,检查是不是标志位或转义写错了。
  4. 处理一大段文本时,试出正确的表达式再回代码里用,避免反复改代码重跑。

有什么限制

  • 用的是 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:不会。匹配在浏览器本地完成。

标签