6

私はマルチプラットフォームシステムに取り組んでいます。正規表現を使用して、特定の形式の文字列をテストしたいと思います。正規表現はデータベースに1回書き込まれ、3つの異なるプラットフォームで使用されます。では、正規表現の記述方法に違いがあるかどうか知っていますか?はいの場合、それは完全に異なるのですか、それともほんの少しの違いだけですか?

次に例を示します。

[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}

よろしく

4

2 に答える 2

4

単純な正規表現パターンは、さまざまな実装間で問題ありません、より複雑な一致には違いがあります。しかし、一般的なバリエーション、つまりPOSIXとPerl正規表現の数は限られています。したがって、DBには2つの列を含めることができます。これは、ほとんどの場合で十分です。

于 2012-09-13T08:00:02.450 に答える
0

C#とJavaScript正規表現の顕著な違いはほとんどありません。

  1. 先読みは、IE6およびIE7ではサポートされていません。
  2. JavaScriptでサポートされているメタ文字のリストは非常に少ないです。
  3. 名前付きグループもJavaScriptではうまく機能しません。

役立つリンクはほとんどありません。1. JavaとC#の正規表現は互換性がありますか?-最初の答えを確認してください。

  1. http://www.regular-expressions.info/refflavors.html-ここには多くの違いがあります。

  2. Javaおよび.Net正規表現-Javaおよび.NET正規表現。

  3. この見事に書かれたブログも役立つかもしれません-http://www.codinghorror.com/blog/2004/08/java-vs-net-regex-performance.html

さまざまなプログラミング言語のフレーバーを理解し、特に複雑なパターンの違いを簡単に確認できるRegexBuddyを強くお勧めします。

于 2012-09-13T08:24:51.033 に答える