2

2 つの正規表現があります (簡単な例: "[0-9]+" と "[0123456789]+")。それらがまったく同じ入力に一致するかどうかを確認したいと思います。Javaでこのチェックを行うための組み込み関数はありますか? そうでない場合、チェックを行うための比較的簡単なアルゴリズムはありますか? ありがとう!

4

2 に答える 2

0

まず、まったく同じです。第二に、あなたが望むことをする組み込み関数を想像できません。考えてみてください: 実際には、いくつかの入力に対して正規表現を一致させたいと考えています。何の入力?ランダムな文字列? この場合、ランダムな文字列に数字のみが含まれる可能性は非常に高くなります。

あなたの質問を少し変えることができます。これが私のバージョンです。

*2 つの正規表現があり、それらが同等に機能することを確認したい。*

この質問は理にかなっています。この場合、一般的な単体テスト フレームワーク (JUnit や TestNG など) の 1 つを使用して一連の単体テストを記述し、これら 2 つの正規表現に対して同じテストを実行できます。毎回同じ結果を期待しています。しかし、文字列は自分で書かなければなりません。例えば

  • 空の文字列
  • 文字だけの文字列
  • 数字だけの文字列
  • 特殊文字を含む文字列
  • Unicode 文字を含む文字列
  • 以前の混合物

などなど

于 2011-11-24T07:19:06.907 に答える