Regex - 7 个免费测试工具
我们概述了 7 个免费的 Regex 工具来测试和开发 Regex 表达式
引言
在本文中,我们将简要概述一系列免费且定期维护的最新正则表达式测试工具。我们计划简要介绍其主要特性和我们的看法。以下是我们从互联网上发现的一些免费工具。
网站工具,免费
- 1) 网站 Regex101 (https://regex101.com/)
- 2) 网站 RegexPal (https://www.regexpal.com/ 即 https://www.regextester.com/)
- 3) 网站 RegExr (https://regexr.com/)
- 4) 网站 CyrilEx Regex Tester (https://extendsclass.com/regex-tester.html)
Windows 应用程序,免费
- 5) Regex Hero 应用程序 (https://regexhero.net/)
- 6) Expresso 应用程序 (https://ultrapico.com/expresso.htm)
Visual Studio 插件,免费
- 7) Visual Studio 扩展 - Regex Editor (https://marketplace.visualstudio.com/items?itemName=GeorgyLosenkov.RegexEditorForVisualStudio2022)
我们将使用相同的正则表达式和文本简要测试每种工具。
- 正则表达式:/[-.\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 中的此类工具。
结论
拥有用于测试正则表达式的好工具总是很方便的。对于那些经常创建正则表达式或创建复杂正则表达式的人来说,它们很有用。对于那些偶尔创建一次,并且技能随着时间而减退的人来说,它们也很有用,因此他们需要高级工具来帮助他们并更新他们的技能。
在我们看来,在介绍的工具中,给我们留下最好印象的是
- 网站 Regex101 (https://regex101.com/) 和
- Expresso 应用程序 (https://ultrapico.com/expresso.htm)
当然,每个人都会有自己的偏好。
历史
- 2022年6月13日:初始版本