3

この文字列があります (最後に改行なし):

The quick brown fox jumps over the lazy dog

改行\nまたは末尾$が発生するまで、文字列全体を一致させたい。

  • 私は最初に試しました:[\n$]- うまくいきませんでした。
  • それから私は試し(\n|$)ました - うまくいきました

質問:[\n$]文字列に一致するのに、一致しないのはなぜ(\n|$)ですか?

4

2 に答える 2

12

文字クラスの $ はリテラルと見なされるため

于 2013-06-02T21:12:37.613 に答える
1

別の見方をすると、文字クラスは正確に 1 文字に一致します。で一致する行末$は空の文字列です。そのため、行末を文字クラスと一致させることはできません。

(結果として、可能な唯一の解釈$はリテラルです。)

于 2013-06-02T21:17:58.393 に答える