2012-03-07 3 views

答えて

11

Pythonの正規表現エンジンはそれらをサポートしていません。 はのリストを参照してください。をサポートしています。しかし、同じ効果を得るにはre.match(re.escape("bla"), "bla")と書くことができます。 re.escapeは、すべての特殊文字の前にバックスラッシュを挿入する関数です。

ちなみに"..."ではなく、生の文字列r"..."を使用してください。そうしないと、バックスラッシュが2回処理されます(文字列が解析された後、再度正規表現エンジンによって処理される)。 \bの代わりに\\bのようなものを書く必要があります。 r"..."を使用すると、最初の処理が失敗するので、\bと書くことができます。

+1

ありがとうございました。私は、サポートされていない正規表現を挿入するときに例外が発生すると思います。ああ待って、これはPythonです... – wafwaf

+0

あなたは大歓迎です。そして、ええ。 。 。私は人々がなぜPythonを愛しているのか分かりませんが、 。 。 – ruakh

+0

@ruakhそれは正規表現ではない、私を信じてください。 :) – tchrist

1

残念ながら、Pythonは\Q\Eエスケープシーケンスをサポートしていません。あなたは自分ですべてをエスケープする必要があります。

+0

-1:生の文字列とre.escapeがあります –