指南 · 开发者

如何在线测试正则表达式(Regex)模式

写了一个用于验证邮箱或电话号码的正则表达式,但不确定模式是否正确?与其直接在生产代码里试错,不如先在这里测试,实时查看结果。

正则表达式测试工具会实时显示文本中哪些部分与你的正则表达式匹配——在其他文本中高亮显示——并提供每个匹配项的详情,包括模式中使用了括号的捕获组。

立即体验

正则表达式测试工具 — MEA Tools

在浏览器中直接测试正则表达式模式,匹配结果立即高亮显示。

打开正则表达式测试工具 →

测试正则表达式的步骤

  1. 打开 tools.meaecosystem.com/regex-tester。
  2. 在模式栏中输入你的正则表达式。
  3. 勾选所需的标志位:g用于查找所有匹配项(而不仅仅是第一个),i用于忽略大小写差异,m用于多行模式。
  4. 在文本栏中粘贴或输入测试文本。
  5. 与模式匹配的部分会立即高亮显示,并显示匹配总数。
  6. 如果你的模式使用括号定义了捕获组,每个匹配项的详情(包括各组的内容)会显示在下方。

g、i、m标志位——什么时候使用?

g(全局)标志用于查找文本中模式的所有出现位置,而不仅仅是第一个——通常默认启用。i标志在你不关心大小写差异时很有用,比如搜索某个词时不管它是大写还是小写。m标志会改变^和$符号的行为,使其匹配每一行的开头/结尾,而不仅仅是整段文本的开头/结尾——对于包含多行的文本很有用。

为什么模式看起来正确却不匹配?

最常见的原因是:忘记转义正则表达式的特殊字符(比如本应作为普通字符搜索的句点或括号,而不是作为正则语法),或者需要的标志位没有勾选。可以先用更简单的模式重新测试,再逐步增加复杂度,直到找到有问题的部分。

常见问题

我的模式和文本会被发送到服务器吗?

不会。正则表达式测试直接使用浏览器内置的JavaScript正则引擎在本地完成。

支持所有类型的正则表达式吗?

这个工具使用浏览器内置的JavaScript正则引擎,因此支持的语法遵循JavaScript正则标准——与Python或PHP等其他编程语言中的正则表达式相比,可能会有细微差异。

什么是捕获组?

捕获组是正则表达式模式中用括号标记的部分,用于"捕获"并提取匹配文本中的特定部分,而不仅仅是判断整体是否匹配。