正则表达式测试工具
针对文本测试 JavaScript 正则表达式,支持实时匹配高亮、命名与编号捕获组、实时替换预览、常用模式库以及匹配结果导出。
正则表达式测试工具 — 即时反馈地编写和调试 JavaScript 正则表达式:输入时匹配结果会在测试文本中高亮显示,每个匹配的捕获组单独列出,六个标志(g、i、m、s、u、y)都可一键切换。零长度匹配和重叠等边界情况均已安全处理,测试内容绝不会离开你的浏览器。 实时替换预览会套用带 $1 和 $name 反向引用的替换模板,命名捕获组会与编号组并列按名称显示,内置库可一键插入电子邮件、URL、IPv4/IPv6、ISO 日期、电话号码和十六进制颜色的模式,完整匹配列表可导出为 JSON 或逐行文本,还有可选面板逐个解释你模式中的各个记号。
正则表达式测试工具 是什么?
Regex Tester 是一款免费的在线正则表达式测试与调试工具,它使用 JavaScript 正则引擎对示例文本运行你的正则表达式,并在你输入时实时高亮显示每一处匹配。开发者、数据处理人员以及任何需要编写查找替换或校验规则的人,都可以用它来构建和调试正则、查看捕获组,以及观察各种标志如何影响匹配结果。在斜杠之间输入正则表达式,切换 g、i、m、s、u、y 等标志,粘贴一段测试文本,即可立即查看匹配数量、高亮匹配项以及每一处匹配的捕获组取值。由于它直接使用浏览器原生的 RegExp 引擎,因此结果与你在 JavaScript 代码中运行时完全一致。 除匹配外,它还会在你输入带 $1 或 $name 反向引用的模板时实时预览替换结果,将命名捕获组与编号组并列按名称显示,提供一键插入的常用模式库,把匹配列表导出为 JSON 或纯文本行,并能用通俗语言解释你模式中的各个记号。
如何使用 正则表达式测试工具
- 在两个斜杠分隔符之间的「正则表达式」输入框中输入你的正则表达式。
- 在「标志」下切换你需要的标志:g 全局、i 忽略大小写、m 多行、s 单行点匹配(dotAll)、u Unicode、y 粘连(sticky);g 默认开启。已启用的标志会显示在正则表达式右侧的结束斜杠之后。
- 在「测试文本」框中粘贴或输入示例文本,或点击「清空」将其清空。
- 查看「匹配数」并浏览「高亮」面板,其中每一处匹配都会在测试文本中以内联方式高亮显示。
- 查看「匹配详情」列表,了解每处匹配的位置索引、匹配到的内容,以及每个编号捕获组的取值。
- 当你不想从零编写时,可从「常用模式」菜单插入现成表达式(电子邮件、URL、IPv4、IPv6、ISO 日期、电话或十六进制颜色)。
- 要改写文本,在「替换为」中输入使用 $1、$2 或 $name 反向引用的模板,即可在「替换结果」中实时查看。
- 将「匹配列表」复制为 JSON 或逐行文本,并在设置中开启「解释模式」,查看每个记号的通俗说明。
示例
查找所有数字
输入
pattern \d+ (digit class, flag g) on text a1b22c333
输出
Matches: 3 (highlights 1, 22, 333)
不区分大小写匹配单词
输入
pattern Hello (flags i and g) on text hello HELLO Hello
输出
Matches: 3 (highlights hello, HELLO, Hello)
从日期中提取捕获组
输入一个由连字符分隔、包含三个带括号数字组的正则,例如 (\d+)-(\d+)-(\d+),对 2026-06-17 运行后会得到一处匹配,其在「匹配详情」中的第 1 组、第 2 组和第 3 组分别显示 2026、06 和 17。
用命名反向引用重排日期
输入
pattern (?<y>\d{4})-(?<m>\d{2})-(?<d>\d{2}), replace with $<d>/$<m>/$<y> on 2026-06-17输出
Replaced text: 17/06/2026
常见问题
- 支持哪些正则标志?
- 支持全部六个 JavaScript 标志:g(全局)、i(忽略大小写)、m(多行)、s(dotAll)、u(unicode)和 y(sticky)。点击任意标志开关即可启用或关闭它;已启用的标志会显示在正则表达式右侧的结束斜杠之后。
- 它使用哪种正则语法?
- 它使用浏览器原生的 JavaScript RegExp 引擎,因此你的正则表达式的行为与在 JavaScript 或 TypeScript 代码中完全一致,包括捕获组、字符类、断言(lookaround),以及开启 u 标志后的 Unicode 转义。
- 为什么提示我的表达式无效?
- 如果正则无法编译(例如括号不匹配或使用了未知的转义),工具会显示 RegExp 构造函数返回的确切错误信息,而不显示任何匹配结果。修正正则后,匹配结果会立即更新。
- 它会显示捕获组和匹配位置吗?
- 会。每处匹配都会列在「匹配详情」中,包含它在文本中的起始索引、匹配到的内容,以及每个编号捕获组;空组显示为 (empty),未参与匹配的组则显示为短横线。
- 我的正则或测试文本会被上传到任何地方吗?
- 不会。所有运算都使用原生 RegExp 引擎在你的浏览器中 100% 本地完成。你的正则表达式和测试文本绝不会发送到服务器,因此你可以放心地对敏感或私密数据进行测试。
- 替换模式和命名组如何使用?
- 在「替换为」中输入使用 $1、$2 或 $name 反向引用(以及代表整段匹配的 $&)的模板;「替换结果」会实时更新,开启 g 标志时替换所有匹配,否则只替换第一个。以 (?<name>…) 定义的组会在每处匹配中按名称列出,并可用 $name 引用。
- 可以导出匹配结果吗?
- 可以。匹配列表可导出为格式化的 JSON(含每处匹配的值、索引和捕获组),或导出为纯文本逐行列表;替换结果和匹配列表都能连接到作业区的其他工具。
相关工具
Base32 / Base58 编码 / 解码工具
在浏览器中将文本编码为 Base32(RFC 4648)或 Base58(比特币字母表)并还原解码,完整支持 UTF-8。
Base64 编码 / 解码工具
编码或解码 Base64(支持 UTF-8),提供 URL 安全字母表、可选填充、64/76 换行、实时字节与字符计数,以及十六进制/二进制字节视图。
大小写转换与字数统计工具
在 UPPERCASE、camelCase、PascalCase、snake_case、CONSTANT_CASE、kebab-case、dot.case 等格式间转换文本,并统计字符、单词和行数。
代码格式化与压缩工具
在浏览器中即时美化或压缩 HTML、CSS 和 JavaScript,支持 2 空格、4 空格或制表符缩进。