正規表現で使用される "制御文字"は、正規表現パーサーのさまざまな実装(Ruby、Java、C#、sedなどのregexなど)の中で大きく異なっていますか?
たとえば、Rubyでは、 D
手段 not a digit
;それはJava、C#とsedで同じ意味ですか? 私は何を聞いているのでしょうか?すべての正規表現パーサがサポートする正規表現の "標準"はありますか?
そうでない場合は、学習して習得すべき共通のサブセットがありますか(そして、遭遇したパーサー固有のものを学習します)。
回答:
回答№1は8についての基本的な構文のリストを参照してください。 regular-expressions.info.
そして 比較 さまざまな「味」のうちの1つです。
回答№2の場合は1
非常に単純な共通のコアがあります。 ed、grep、sed、awkなどのオリジナルのソフトウェアツールで実装されている正規表現に対応します。他の形式はすべてこのスーパーセットであるため、これは学習価値があります。†
. match any character
[abc] match a, b, or c
[^abc] match a character other than a, b, or c
[a-c] match the range from a to c
^ match the begininning of the line
$ match the end of the line
* match zero or more of the preceding character
(...) group for use as a back-reference
†Posixブラケット式は、誰も使用せず、サブセットに含まれていないため、除外しました。 parensは、古典的な表現を除いて、デフォルトでは魔法です。