-8

Python 2.7では、この正規表現は何に一致しますか?

^[!-//-~]

http://docs.python.org/2/library/re.htmlがそれをカバーしていないので、良い情報源はありますか?

4

1 に答える 1

7
  • これ^は「文字列の開始」アンカーであり、式は開始時にのみ一致します。

  • ブロックは[...]文字クラスであり、含まれている文字はセットとして扱われます。行の先頭にあるこれらの1つは、一致を構成するのに十分です。

    クラス内のダッシュは、から!まで、/およびからまでの範囲を構成/~ます。最初の範囲の終わりが2番目の範囲の始まりと重なっているので、[!-~]十分です。

    !との間に、スペース文字を~除くすべての印刷可能なASCII文字があります。スラッシュは数字の/直前にあります。誰かがリファクタリング後に2つのセットをマージするのを忘れたように見えます。

したがって、次の行のいずれかが一致します。

!whatever
"don't care
~still doesn't matter what follows
/It's the first character that counts.
ABut almost anything printable in the ASCII range matches
于 2013-02-15T13:18:34.970 に答える