75

具体的には^、正規表現で「一致開始」を意味するのはいつで、「次ではない」を意味するのはいつですか?

ウィキペディアの記事やその他の参考文献から、前者を先頭に、後者を括弧付きで使用すると結論付けましたが、キャレットが先頭と括弧にある場合、プログラムはどのように処理しますか? たとえば、何が^[b-d]t$一致しますか?

4

2 に答える 2

161

^only は、 の内部および開始時に「次ではない」ことを意味する[]ので、[^...].

先頭ではなく[]内側にある場合は、実際の文字を意味します。^

エスケープされている場合 ( \^)、実際の^文字も意味します。

それ以外の場合はすべて、文字列/行の開始を意味します (言語/設定に依存します)。

要するに:

  • [^abc]-> a、b、c で​​はない
  • [ab^cd]-> a、b、^ (文字)、c または d
  • \^->^キャラクター
  • それ以外の場所 -> 文字列/行の開始。

つまり、次の^[b-d]t$ことを意味します。

  • 行頭
  • b/c/d キャラクター
  • t文字
  • 行の終わり
于 2013-06-05T15:56:19.300 に答える