65.9K
CodeProject 正在变化。 阅读更多。
Home

Regex - 7 个免费测试工具

starIconstarIconstarIconstarIconstarIcon

5.00/5 (26投票s)

2022年6月13日

MIT

6分钟阅读

viewsIcon

27509

我们概述了 7 个免费的 Regex 工具来测试和开发 Regex 表达式

引言

在本文中,我们将简要概述一系列免费且定期维护的最新正则表达式测试工具。我们计划简要介绍其主要特性和我们的看法。以下是我们从互联网上发现的一些免费工具。

网站工具,免费

Windows 应用程序,免费

Visual Studio 插件,免费

我们将使用相同的正则表达式和文本简要测试每种工具。

  • 正则表达式:/[-.\w]+@([\w-]+\.)+[\w-]+/g
  • 测试字符串:“rafa@nadal.com @ hisaa.bb.cc @ novak@djokovic.com”

1. 网站 Regex101

(https://regex101.com/)

这是一个网站工具。界面和表达式、测试文本的着色都非常漂亮。这是主界面的截图,分为两部分以适应文章格式。

左侧面板

右侧面板

请注意主界面的以下几点:

  • 可以选择要测试的正则表达式的“风格”(例如 JavaScript、C# 等)。
  • 可以选择要测试的函数(匹配、替换等)。
  • 注意上方显示了分析文本所执行的步骤数(本例中为 42 步)。这有助于确定您的正则表达式的效率。
  • 它以自然语言形式提供正则表达式的“解释”。
  • 显示测试文本的匹配项列表。

有趣的是“代码生成器”功能,可以生成不同语言的代码。

生成的 C# 代码

生成的 JavaScript 代码

有趣的是“正则表达式调试器”功能,该功能仅在 Regex 的 PHP 版本中可用,可以帮助分析正则表达式的执行及其复杂性,您可以逐步执行正则表达式并查看其失败之处。

总而言之,对这款在线工具的印象很好。

2. 网站 RegexPal

(https://www.regexpal.com/https://www.regextester.com/)

这是一个网站工具。这是主界面的截图。

请注意以下几点:

  • 该工具主要面向 JavaScript 和 Perl (PCRE) 版本的正则表达式。
  • 正则表达式的着色效果不错。
  • 匹配项未单独列出,而是高亮显示。

总的来说,给人一种比较简陋的测试工具的感觉。

3. 网站 RegExr

(https://regexr.com/)

这是一个网站工具。这是主界面的截图,分为两部分以显示不同的面板。

选择了“列表”面板。

选择了“解释”面板。

请注意以下几点:

  • 该工具主要面向 JavaScript 和 Perl (PCRE) 版本的正则表达式。
  • 正则表达式的着色效果不错。
  • 匹配项列在下方,但要获取组的信息,需要更改面板并在浏览器中选择匹配项。
  • 它提供了一个“解释”面板,以图形方式显示正则表达式的解释。我们觉得它非常有趣,甚至比“自然语言解释”更好。只是,网页表单很死板,很难看到完整的表达式,需要滚动,这破坏了它的乐趣。

我们不喜欢网页表单如此死板,并且无法移动边框和放大感兴趣的面板。

4. 网站 CyrilEx Regex Tester

(https://extendsclass.com/regex-tester.html)

这是一个网站工具。这是主界面的截图。

请注意主界面的以下几点:

  • 可以选择要测试的正则表达式的“风格”(例如 JavaScript、Java 等)。
  • 正则表达式的着色效果不错。
  • 匹配项未单独列出,而是高亮显示。我没有看到查看组的方法。
  • 正则表达式的图形表示非常漂亮。

我们非常喜欢它生成的图表,这是迄今为止最好的解释。但其他选项则有些普通。

5. Regex Hero 应用程序

(https://regexhero.net/)

这是一个独立的 Windows 应用程序。这是截图。

主面板

代码生成器面板

带有正则表达式“自然语言解释”的面板。

基准测试面板

执行的基准测试

请注意以下几点:

  • 该工具仅面向 .NET 环境和 .NET 版本的正则表达式。
  • 面板漂亮地显示了正则表达式的着色和匹配项的高亮。
  • 支持生成 C# 和 VB 代码。
  • 它提供正则表达式的“自然语言”解释。
  • 有趣的是它提供了基准测试。它通过迭代一个迭代器(集合)来工作,因此所有匹配项都会被评估。这相当于 JavaScript Match/g 执行时创建响应数组。遗憾的是,它没有显示评估正则表达式所需的“步骤”数,而是以每秒迭代次数的形式给出基准,这是一个取决于机器/处理器的标记。

它看起来不错,并且对 .NET 开发人员可能有用。

6. Expresso 应用程序

(https://ultrapico.com/expresso.htm)

这是一个独立的 Windows 应用程序。这是截图。

主面板

表达式设计器面板

代码生成器面板

基准测试面板

请注意以下几点:

  • 该工具仅面向 .NET 平台上的 C++、C#、VB 程序员。
  • 主窗口显示匹配项和组,以及正则表达式的分析。
  • 它具有一个高级设计器面板,用于创建正则表达式。
  • 它支持为 C++、C#、VB 生成代码。
  • 它支持测试正则表达式的执行速度。

该应用程序给人的印象是一个为 .NET 开发人员创建和测试正则表达式需求而精心设计和完善的应用程序。

7. Visual Studio 扩展 - Regex Editor

(https://marketplace.visualstudio.com/items?itemName=GeorgyLosenkov.RegexEditorForVisualStudio2022)

这是 Visual Studio 2022 的一个扩展。这是截图。

主面板

代码生成器面板

请注意以下几点:

  • 该工具面向 Visual Studio 环境以及 C# 和 VB。
  • 面板漂亮地显示了正则表达式的着色以及匹配项和组的高亮。
  • 支持生成 C# 和 VB 代码。
  • 有趣的是,VS2022 在启动时抱怨说这个扩展减慢了启动速度。VS2022 启动缓慢一直是个问题,所以也许它只是将任何已安装的扩展都归咎于此。无论如何,由于我不经常使用正则表达式,我在测试后将其卸载了。也许使用外部工具更好。

它看起来非常整洁,有些人会更喜欢集成到 Visual Studio 中的此类工具。

结论

拥有用于测试正则表达式的好工具总是很方便的。对于那些经常创建正则表达式或创建复杂正则表达式的人来说,它们很有用。对于那些偶尔创建一次,并且技能随着时间而减退的人来说,它们也很有用,因此他们需要高级工具来帮助他们并更新他们的技能。

在我们看来,在介绍的工具中,给我们留下最好印象的是

  1. 网站 Regex101 (https://regex101.com/)
  1. Expresso 应用程序 (https://ultrapico.com/expresso.htm)

当然,每个人都会有自己的偏好。

历史

  • 2022年6月13日:初始版本
© . All rights reserved.