如何在线测试正则表达式

· 4 分钟阅读

正则表达式是编程中最强大的工具之一 · 也是最令人沮丧的之一。正则测试器允许您交互式构建和调试模式,而不是运行代码、检查输出、再猜测哪里出错。

为什么使用正则测试器

在您的编辑器中编写正则意味着只有在运行时才能看到错误。测试器向您显示:

如何在线测试正则

  1. 输入您的模式· 在模式字段输入正则。根据需要启用标志(g 表示全局、i 表示忽略大小写、m 表示多行)。
  2. 粘贴您的测试文本· 输入要测试的文本。匹配实时高亮。
  3. 查看结果· 查看所有匹配,下面列出捕获组。使用「替换为」字段测试替换。

需要了解的常见正则模式

邮箱地址(基础):

[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

URL:

https?://[^\s]+

电话号码(美国):

\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}

日期(YYYY-MM-DD):

\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])

IP 地址(IPv4):

\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b

编写更好正则的小贴士

常见问题

我的正则能在其他编程语言中工作吗?

大部分正则语法在 JavaScript、Python、Java、PHP 和其他语言之间是共享的。基础模式(字符类、量词、锚点)到处有效。但高级功能如后顾断言或命名组因语言而异。

我的测试数据会发送到服务器吗?

不会。所有匹配在您的浏览器中使用 JavaScript 的原生 RegExp 引擎本地完成。没有任何内容发送到其他地方。

可以测试替换吗?

可以。输入替换模式(使用 $1、$2 等表示捕获组)以实时查看查找替换的结果。

可以离线使用吗?

可以。页面加载后,工具完全在您的浏览器中工作,无需联网。