web-dev-qa-db-ja.com

複数言語の正規表現の単体テストはどこにありますか?

http://www.debuggex.com で正規表現ヘルパーを作成しています。表示する詳細の量により、独自のパーサーとマッチャーを作成する必要があります。

私のパーサーとマッチャーが正しく機能することを確認するために、正規表現のJavascriptフレーバー用に独自の単体テストを記述しましたが、これらは私が知っているEdgeケースのみをカバーしています。標準のテストスイートを使用したいのですが、最近使用する http://hg.ecmascript.org/tests/test262/summary が指定されました。

私の質問は、他の正規表現フレーバー用のこのようなテストスイートはどこにありますか?将来は他のフレーバーもサポートしたいと思っています。私はグーグルで何も見つけることができませんでした(「テスト」は正規表現テスターで結果を汚染します)。私は言語のテストスイートを探していますpythonphpPerlJavaRuby、および。net

77
Sergiu Toarca

これらの言語のほとんどはオープンソースです。きちんとしたプロジェクトは、テストケースを上記のレポに含める必要があります。そうでなければ、私はかなり心配します。

  • Python の正規表現テスト
  • [〜#〜] php [〜#〜] の正規表現テスト
  • Perl の正規表現テストは非常に広範囲に見えます
  • Open JDK の単体テスト(Javaのオープンソース風)
  • Ruby の正規表現テスト
  • Mono の正規表現テスト(.NETのオープンソースバージョン)
  • RE2 のテスト(Googleで開発されたC++正規表現エンジン)
  • [〜#〜] c [〜#〜] テストスイート(AT&T Researchによって開発)
  • [〜#〜] pcre [〜#〜] regexテスト(Perl互換の正規表現Cライブラリ)
  • JavaScript 正規表現テスト(Ecma Technical Committee 39互換性スイート)

このページ にも広範なグラフがありました。

51

1つのページに完全なリストを表示するために、受け入れられた回答から省略されているものを見つけました。

  • Mono's regexテスト(.netのオープンソースバージョンです)
  • PHP's 正規表現テスト
11
Sergiu Toarca

追加の言語用の追加の正規表現テストスイート:

ボーナス

  • Regfuzz (ランダムに生成された無効な正規表現を使用して正規表現の堅牢性をテストするためのCツールキット)
1
Anon