正则表达式测试
测试正则匹配。
这个工具能做什么
正则表达式测试解决的是「正则写完了却不确定它到底匹配到了什么」这个日常痛点。你在一个输入框里填正则表达式主体,另一个填标志位(如 g、i、m),再把待匹配的文本粘进来,点测试就能列出所有命中的片段。写爬虫抓取规则、清洗日志、做表单校验时,正则往往改几版都不对,靠脑子里空想匹配结果很容易翻车;正则在线测试把匹配过程可视化出来,改一版看一版结果,比在代码里反复 print 调试快得多。
这个工具在浏览器里直接用 JavaScript 的 RegExp 引擎跑你的正则,等价于 new RegExp(pattern, flags) 再执行 match / matchAll。标志位决定引擎行为:g 表示全局匹配、返回所有结果而不是只返回第一个;i 忽略大小写;m 让 ^ 和 $ 匹配每一行的行首行尾;s 让 . 也能匹配换行符;u 按 Unicode 码点处理,从而正确匹配 emoji 和中文等多字节字符。因为走的是 JS 内置引擎(ECMAScript 正则方言),它支持捕获组、命名组 (?<name>...)、前瞻 (?=...) 和后顾 (?<=...) 这类语法,但不支持某些 PCRE 独有的特性(如递归、possessive 量词)。整个正则匹配测试都在你本机完成,文本不上传服务器。
举两个常见例子。一是校验手机号:正则填 ^1[3-9]\d{9}$,把一批号码逐行贴进去,配合 m 标志逐行验,能立刻看出哪些格式不合规。二是从日志里抓时间戳:用 \d{4}-\d{2}-\d{2} 加 g 标志,一次性把整段日志里所有形如 2026-07-23 的日期全部列出来,核对采集是否完整。做接口字段清洗、Nginx 日志分析、批量替换前的匹配确认,都可以先在这里把正则调通,再拷回代码里用。
几个容易踩的点:忘记加 g 标志时,很多语言的 matchAll 只返回第一个匹配,以为正则写错其实是标志漏了;. 默认不匹配换行,跨行匹配要么加 s 标志要么用 [\s\S];贪婪量词 .* 会尽可能多吃字符,需要非贪婪时记得写成 .*?。另外要注意 regex 方言差异:这里用的是 JS 引擎,若你的正则最终跑在 Python、Java 或 grep 上,\d 对 Unicode 数字的处理、命名组写法 (?P<name>...) 等细节可能不一致,最终以目标运行环境为准。
正则表达式测试是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“正则表达式测试”、“正则测试”、“正则在线测试”,说的都是这个。
常见使用场景
- 校验一批手机号是否符合格式
- 从 Nginx 日志里批量提取时间戳
- 调试表单邮箱正则再拷回前端代码
- 确认爬虫抓取规则命中了哪些字段
- 批量替换前先验证正则匹配范围
使用方法
- 把内容粘贴到输入框(生成类工具直接设置选项)。
- 按需要选择选项,点操作按钮。
- 结果出现在下方,点「复制结果」即可带走。