Python の正規表現で複数のバックスラッシュを処理する方法は?

Barbara Streisand
リリース: 2024-10-24 08:33:02
オリジナル
216 人が閲覧しました

How to Handle Multiple Backslashes in Python Regular Expressions?

正規表現のバックスラッシュについて

正規表現では、マッチング機能を強化する特別な目的でバックスラッシュ () を使用します。ただし、複数のバックスラッシュが連続して表示されると混乱が生じます。

Python ドキュメントによると、バックスラッシュはエスケープ文字として機能し、特殊文字を文字通りに一致させることができます。たとえば、 d は任意の 10 進数を表します。

これらのメタ文字が解釈されないようにするには、メタ文字の前にバックスラッシュを付けます。たとえば、 [ はリテラル [ に一致し、バックスラッシュは特別な意味をキャンセルするため、リテラル に一致します。

ただし、次のコードは予期せず None を返します:

<code class="python">print(re.search('\d', '\d'))</code>
ログイン後にコピー

この問題は Python に起因します。バックスラッシュの二重解釈。まず、「d」の d を解析して 10 進数に置き換えます (d エスケープ シーケンスを介して)。したがって、「d」には、一致させるつもりだった「d」文字ではなく、10 進数が含まれています。

これを修正するには、正規表現内のバックスラッシュをエスケープします。

<code class="python">print(re.search('\\d', '\d'))</code>
ログイン後にコピー

これ'd' の 'd' 文字が文字どおりに一致することを保証します。'' は文字列内でのエスケープにより実際のバックスラッシュを表します。

要約すると、正規表現でバックスラッシュを使用する場合は、Python が次のように解釈することに注意してください。それらを複数のレベルで実現します。特殊文字を文字通りに一致させるために使用する正規表現内のバックスラッシュをエスケープします。

以上がPython の正規表現で複数のバックスラッシュを処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!