3

Oreilly の著書「Classic Shell Scripting」セクション 3.2.2.4「アンカー テキスト マッチ」で、対応する [^] が正規表現ではないのはなぜですか?

なぜ正規表現ではないのかわかりませんか?誰かヒントをくれませんか?

4

3 に答える 3

5

[]文字クラスを意味します。

文字クラスのコンテキスト内では^、先頭の a は否定を意味します。つまり、後続のすべての文字が一致してはなりません。

だから、[^]無意味であり、許可されていません。

于 2013-01-05T08:37:49.467 に答える
4

有効かどうかは、実際には正規表現のフレーバーに依存し[^]ます。

JavaScriptでは、[^]は有効であり、任意の文字を示します。ただし、他のほとんどのフレーバーでは、文字クラスの宣言を空にすることはできません。

于 2013-01-05T08:56:13.607 に答える
2

コンテキストがほとんどないため、推測するだけ[^]ですが、不完全な文字クラスであるため、正規表現ではありません。[^a]は正規表現になります。「a」以外の文字に一致します。

于 2013-01-05T08:38:36.453 に答える