正则表达式测试工具

交互式正则表达式测试工具,实时高亮匹配、查看捕获组,并支持灵活的标志位控制。

标志位
g在测试文本中查找所有匹配项。
当前表达式请输入正则表达式开始测试。

匹配预览

当表达式匹配成功后,将在此高亮显示匹配内容。

匹配详情

暂无匹配结果。

常用匹配示例

选择一个示例即可快速加载常见的匹配场景。

ISO 日期 (YYYY-MM-DD)

捕获 ISO 日期中的年份、月份和日期。

正则表达式(\d{4})-(\d{2})-(\d{2})
标志位g
测试文本订单日期:2023-10-05 备份时间:2024-01-14
带命名分组的邮箱

通过命名分组提取邮箱的用户名和域名。

正则表达式(?<user>[\w.+-]+)@(?<domain>[\w-]+\.[A-Za-z]{2,})
标志位gi
测试文本客服:help(at)example.com 招聘:careers(at)my-shop.co
IPv4 地址

严格匹配 0-255 范围的 IPv4 地址。

正则表达式\b(?:(?:25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|1?\d?\d)\b
标志位g
测试文本主机:192.168.0.1,备用:10.0.24.16
十六进制颜色值

匹配短格式和完整格式的十六进制颜色。

正则表达式#(?:[0-9a-fA-F]{3}){1,2}\b
标志位g
测试文本配色:#fff、#0fb981、#1f2937
HTML 起始标签

校验包含基础属性的 HTML 起始标签。

正则表达式^<([a-z]+)(?:\s+[a-z-]+="[^"]*")*>$
标志位im
测试文本示例:&lt;div class="card"&gt; &lt;input type="text" disabled&gt;

工具简介:正则表达式测试调试指南

正则表达式测试工具让你在无需编写额外代码的情况下,快速设计、验证并调试 JavaScript 正则表达式。输入或粘贴模式,切换常用标志位(gimsuy),工具会即时高亮每一次匹配、捕获组以及命名捕获组的位置。

什么是正则表达式测试调试指南?

正则表达式测试调试指南用于快速验证正则匹配与替换结果,避免上线前出错。

如何使用

  1. 输入正则表达式并选择需要的匹配选项。
  2. 粘贴测试文本,观察匹配高亮与分组结果。
  3. 如需替换,填写替换模板并查看输出。

常见应用场景

  • 日志、文本中的字段提取与清洗
  • 表单校验规则的验证与调试
  • 批量替换或格式转换前的测试

❓ 常见问题 FAQ

Q1:为什么匹配不到?
A:检查是否需要开启多行/忽略大小写选项,并确认转义字符写法。

Q2:如何使用分组引用?
A:在替换模板中使用 $1、$2 等引用捕获组。

Q3:正则太慢怎么办?
A:尽量避免贪婪匹配与回溯过多的写法。

工具亮点

  • 高效迭代:实时显示匹配结果与错误提示,复杂表达式也能快速调试。
  • 可视化匹配:零宽匹配、多行匹配、捕获组边界一目了然,帮助你确认表达式行为。
  • 内置示例库:一键加载常见场景(ISO 日期、邮箱、IPv4、十六进制颜色、HTML 标签),快速入手。
  • SEO 与数据校验:适合开发、运营、SEO、QA 等角色在上线前验证文本内容。

快速上手清单

  1. 在顶部输入框粘贴或输入正则表达式,例如 (?<user>[\w.+-]+)@(?<domain>[\w-]+\.[A-Za-z]{2,})
  2. 测试文本 区域填入需要匹配的示例内容。
  3. 标志位 面板勾选需要的模式(全局、忽略大小写、多行等)。
  4. 查看 匹配预览 面板,确认文本中被高亮的匹配片段。
  5. 打开 匹配详情 面板,逐条检查匹配位置、长度以及捕获组内容。

标志位说明

标志 名称 作用说明
g 全局匹配 查找文本中所有的匹配,而非遇到第一个就停止。
i 忽略大小写 将大小写视为相同,适用于用户输入或 SEO 场景。
m 多行模式 ^$ 匹配每一行的开头与结尾。
s DotAll . 可以匹配换行符。
u Unicode 启用完整的 Unicode 支持,处理多语言文本。
y 粘滞模式 lastIndex 开始连续匹配,常见于解析器。

示例库介绍

示例面板提供了一键加载的正则模板,每个示例都包含模式、测试文本和推荐标志位:

  • ISO 日期 (YYYY-MM-DD):提取年、月、日,常用于日志或报表数据校验。
  • 命名捕获邮箱:利用命名捕获组拆分邮箱用户名与域名,适合表单验证或数据清洗。
  • IPv4 地址:严格验证 0-255 范围的 IPv4 地址,排除非法 IP。
  • 十六进制颜色值:捕获短格式 #fff 与长格式 #0fb981 的 CSS 颜色值。
  • HTML 起始标签:判断片段中是否包含带基本属性的合法开标签。

进阶技巧

  • 如果出现零宽匹配提示,请使用可以消耗字符的量词(如 +*{n,})避免死循环。
  • 在 JavaScript 代码里使用正则时,需要将反斜杠再转义一次:工具中的 \d 在字符串中应写为 \\d
  • 善用命名捕获组 (?<name>...),在 匹配详情 中可以更直观地阅读输出。
  • 与 ToolMi 的其他工具(如 JSON 转 YAML、Markdown 转 HTML)组合使用,可以显著提升文档、SEO 内容的处理效率。

常见问题

Q:支持前瞻/后顾吗?
A:支持。工具基于 JavaScript 的原生正则引擎,正负向前瞻、后顾、Unicode 属性匹配、反向引用都可以使用。

Q:可以分享示例给同事吗?
A:目前可通过复制模式与测试文本分享,ToolMi 暂未提供一键生成分享链接功能。

Q:为什么没有匹配结果?
A:检查是否启用了正确的标志位、是否存在多余空格或换行、以及表达式是否使用了合适的锚点(^$、单词边界等)。

延伸阅读

借助这款可视化调试工具,你可以快速上线依赖正则的功能、检查 SEO 文案或调试复杂的文本解析任务。