正则表达式测试使用教程:实时高亮匹配,捕获组一目了然

正则表达式测试使用教程:实时高亮匹配,捕获组一目了然

📁 开发👁️ 151 阅读⏱️ 8 分钟阅读🕒 2026/9/14

输入正则和测试文本即可实时高亮所有匹配,支持捕获组分析、替换预览、常用模板和 JS/Python/Java 代码生成,新手也能快速调通正则。

工具简介

正则表达式可视化测试是工具派出品的一款在线正则调试工具。你只需要在输入框中写下正则表达式、粘贴一段测试文本,工具就会实时给出匹配结果,并用多种颜色高亮每一处命中,完全不需要安装任何软件,也不用写一行代码。

它的核心能力包括:

  • 实时匹配高亮:边输入边匹配,每一处命中都用不同颜色标记,鼠标悬停还能查看该匹配的捕获组内容。
  • 捕获组详情表格:自动列出每个匹配的序号、匹配内容、所在行列位置以及全部捕获组,支持一键复制。
  • 替换模式:支持 $1$2 等反向引用,实时预览替换后的全文结果。
  • 常用正则模板库:内置手机号、邮箱、URL、身份证号等 14 种常用正则,点一下即可载入。
  • 代码生成:把当前正则一键转换为 JavaScript / Python / Java 三种语言的可用代码片段。
  • 语法速查表:内置字符、边界、量词、分组、字符类五大类常用语法对照表,新手也能快速上手。

适用场景

  • 写代码前验证正则:在把正则写进项目代码之前,先用真实文本验证它是否能正确命中,避免上线后才发现匹配偏差。
  • 排查"为什么不匹配":正则写错了往往很难肉眼看出问题,通过高亮结果可以直观看出命中了哪些、漏掉了哪些。
  • 学习正则表达式:配合内置的语法速查表和模板库,边改边看结果,是学习正则最高效的方式之一。
  • 批量提取信息:从日志、网页、文档中提取手机号、邮箱、URL 等结构化信息,确认无误后复制结果或生成代码。
  • 文本批量替换:利用替换模式和反向引用,快速完成日期格式转换、号码脱敏等文本加工任务,并预览最终效果。

使用步骤

1. 输入正则表达式

打开工具页面后,顶部是正则输入区。在两个红色的 / 斜杠之间输入你的正则表达式,例如 \d{4}-\d{2}-\d{2}。如果你还不确定怎么写,可以点击输入区上方「常用正则」一栏中的模板按钮(如手机号邮箱URL),工具会自动填入对应的表达式和标志位。

2. 设置标志位(可选)

输入框右侧有 gimsu 五个标志位按钮,点击即可开启或关闭,蓝色表示已启用。默认开启 g(全局匹配)。各标志位的含义见下文「参数与选项说明」。

3. 粘贴测试文本

在左下「测试文本」区域粘贴你要匹配的原始文本。工具无需点击任何按钮,输入的同时就会实时执行匹配。

工具主界面:顶部已填入正则表达式(如 \d{4}-\d{2}-\d{2})并开启 g 标志位,左侧测试文本框已粘贴示例文

4. 查看高亮匹配结果

右侧「匹配结果」区域会显示原文,所有命中的内容会用黄、绿、蓝、粉等颜色循环高亮。正则输入区下方会显示 ✓ 匹配到 N 处;如果正则有语法错误,则会显示红色错误提示。鼠标悬停在任意高亮块上,可以看到该匹配的捕获组明细。

5. 查看捕获组详情

当存在匹配结果时,页面下方会出现「捕获组详情」表格,依次列出每个匹配的序号、匹配内容、位置(第几行第几列)以及组 1、组 2…… 等捕获组内容。点击右上角「复制结果」,可以把整张表格以制表符分隔的文本形式复制到剪贴板,方便粘贴到 Excel 进一步处理。

页面下方的『捕获组详情』表格展开状态:表格包含序号、匹配内容、位置(几行几列)和组1、组2等列,列出了多个匹配行,右上角

6. 使用替换模式(可选)

点击「替换模式」按钮,页面会出现「替换文本」输入框。在其中填写替换内容,支持使用 $1$2 等反向引用插入捕获组内容。右侧区域会实时显示替换后的完整文本,确认效果后点击「复制」即可取用。

替换模式界面:已点击『替换模式』按钮,出现替换文本输入框并填入含 $1、$2 反向引用的替换内容,右侧区域实时显示替换后

7. 生成代码(可选)

只要输入了正则表达式,页面底部会自动出现「代码生成」面板。点击 JSPYTHONJAVA 切换目标语言,即可得到可直接粘贴到项目中的代码片段,标志位也会自动转换为对应语言的写法。

参数与选项说明

参数 说明 默认值 / 可选值
正则表达式 在两个 / 之间输入的匹配规则 无默认值,必填
标志位 g 全局匹配,找出所有命中而不是第一个 默认开启
标志位 i 忽略大小写 默认关闭
标志位 m 多行模式,^$ 匹配每一行的首尾 默认关闭
标志位 s 点号 . 也匹配换行符 默认关闭
标志位 u Unicode 模式 默认关闭
工作模式 「匹配模式」查看高亮与捕获组;「替换模式」预览替换结果 默认匹配模式
替换文本 替换模式中填入的新内容,支持 $1$2 反向引用
代码生成语言 生成 JS / PYTHON / JAVA 三种语言的调用代码 默认 JS

实用技巧

  • 先从模板改起:不确定语法时,先点一个接近的常用模板(如「日期 YYYY-MM-DD」),再在它基础上微调,比从零写快得多。
  • 善用多色高亮数匹配:高亮颜色按黄、绿、蓝、粉、紫、橙、青、红循环,通过颜色交替可以直观看出每个匹配的边界,尤其适合检查贪婪/非贪婪匹配的差异。
  • 悬停查看捕获组:带有捕获组的高亮块,鼠标悬停即可看到「组1=xxx, 组2=xxx」,不用展开下方表格。
  • 行列位置定位错误:捕获组详情表格里的「位置」精确到行和列,排查长文本(如日志)中的异常命中时非常好用。
  • 替换前先看预览:替换模式是实时预览的,确认结果完全符合预期后再复制,避免反向引用编号写错导致数据错乱。
  • 忘了语法就查速查表:点击「语法速查」按钮,字符、边界、量词、分组、字符类五大类常用写法一屏看全。

常见问题

Q1:为什么我输入正则后没有任何高亮?

请检查三点:① 正则和测试文本是否都已填写,两者缺一不可;② 正则输入区下方是否出现红色语法错误提示,如有请先修正表达式;③ 是否确实没有命中——可以把正则简化一部分试试,或者开启 i(忽略大小写)标志位再观察。

Q2:匹配到 N 处的「N」和我预期的不一样怎么办?

最常见的原因是标志位 g 没开(只找第一个匹配),或者量词写成了贪婪模式导致一次匹配"吃掉"了过多内容。可以在量词后加 ? 改为非贪婪匹配(如 .*?),再观察高亮边界的变化。

Q3:替换文本里的 $1 是什么意思?

$1$2 表示正则中第 1、第 2 个圆括号捕获组匹配到的内容。例如用 (\d{4})-(\d{2})-(\d{2}) 匹配日期,替换文本写 $1年$2月$3日,就能把 2026-07-13 替换为 2026年07月13日

Q4:生成的代码可以直接用吗?

可以。「代码生成」面板会根据当前的正则和标志位,生成 JavaScript、Python 或 Java 的完整调用示例,并已自动处理好反斜杠转义。其中 Python 版本会把 ims 标志位转换为 re.IGNORECASEre.MULTILINEre.DOTALL

Q5:点击「复制结果」复制出来的是什么格式?

是制表符(Tab)分隔的纯文本,包含序号、匹配内容、位置和各个捕获组,直接粘贴到 Excel 或 WPS 表格中会自动分列,方便做进一步的数据清洗和统计。