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

Ser*_*rca 77 .net javascript php java regex

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

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

我的问题是,我在哪里可以找到其他正则表达式的测试套件?我想在将来支持其他口味.我无法通过谷歌搜索找到任何东西("测试"污染了正则表达式测试人员的结果).我正在寻找语言python,php,perl,java,ruby.net的测试套件.

Jef*_*ski 51

大多数语言都是开源的.任何体面的项目都应该在所述回购中有他们的测试用例,否则我会非常担心.

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

我还在此页面上找到了一个广泛的图表,可能对您有所帮助.

  • 不正确.NET是封闭源代码.这些来源可以在http://referencesource.microsoft.com/netframework.aspx上找到.你必须从那里挖掘,以找到具体的部分. (6认同)

Ser*_*rca 11

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

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

  • Mono是.Net的开源版本.它有C#和F#的编译器,而不是VB.Net.从个人角度来说,VB.Net是令人厌恶的. (6认同)