在哪里可以找到多种语言的正则表达式的单元测试?

2022-08-30 08:20:30

我正在 http://www.debuggex.com 构建一个正则表达式帮助程序。我想显示的细节量要求我编写自己的解析器和匹配器。

为了确保我的解析器和匹配器正常工作,我为正则表达式的Javascript风格编写了自己的单元测试,但这些只涵盖了我所知道的边缘情况。我想使用一个标准的测试套件,最近有人指出 http://hg.ecmascript.org/tests/test262/summary,我将使用它。

我的问题是,在哪里可以找到其他正则表达式风格的测试套件?我想在将来支持其他口味。我无法通过谷歌搜索找到任何东西(“测试”污染了正则表达式测试器的结果)。我正在寻找pythonphpperljavaruby.net语言的测试套件。


答案 1

这些语言中的大多数都是开源的。任何像样的项目都应该在所述存储库中包含其测试用例,否则我会非常担心。

  • Python的正则表达式测试
  • PHP 的正则表达式测试
  • Perl的正则表达式测试看起来非常广泛
  • Open JDK的单元测试(Java的开源版本)
  • Ruby 的正则表达式测试
  • Mono的正则表达式测试(.NET的开源版本)
  • .NET Core 的正则表达式测试
  • RE2的测试(C++谷歌开发的正则表达式引擎)
  • C测试套件(由AT&T Research开发)
  • PCRE 正则表达式测试(Perl 兼容正则表达式 C 库)
  • JavaScript 正则表达式测试(Ecma 技术委员会 39 兼容性套件)

我还在这个页面上发现了一个广泛的图表,可能对你有一些帮助。


答案 2

为了在一个页面上有一个完整的列表,我发现了从接受的答案中省略的那些:

  • Mono的正则表达式测试(它是.net的开源版本)
  • PHP 的正则表达式测试