ホームページ >バックエンド開発 >Python チュートリアル >Python 正規表現: エスケープ シーケンスには接頭辞 \'r\' が必須ですか?
以下の最初の例は、なぜエスケープシーケンスの前に「r」プレフィックス?エスケープ シーケンスを扱うときは必須であるべきだと一般的に考えられています。
<code class="python"># example 1 import re print(re.sub('\s+', ' ', 'hello there there')) # prints 'hello there there' - not expected as r prefix is not used</code>
「r」接頭辞を推奨する一般的な規則にもかかわらず、正規表現パターンでは接頭辞「r」が必ずしも必要というわけではありません。 use.
エスケープ シーケンスでは、バックスラッシュ () は、特別な文字シーケンスを解釈するか、特別な意味を持つ文字をエスケープするためのインジケーターとして機能します。ただし、バックスラッシュが前にあるすべてのシーケンスが有効なエスケープ シーケンスとみなされるわけではありません。
これを説明するために、次の例を考えてみましょう。
の場合「r」プレフィックスはエスケープ シーケンスの前に存在しません。Python は、それが認識されたエスケープ シーケンスである場合にのみそれを解釈します。つまり、「s」のような無効なエスケープ シーケンスを解釈しようとしません。
この動作は、提供された最初の例で確認できます。
ただし、接頭辞「r」が使用されている場合は、パターン内のすべての文字が文字通りに解釈されます。これは、r' が文字 's' が後に続くリテラルのバックスラッシュ文字を表すことを意味します。
「r」接頭辞はすべてのエスケープ シーケンスに厳密に必要というわけではありませんが、一般的には必須です。特に複数のエスケープ シーケンスを含む複雑なパターンを扱う場合は、これを使用することをお勧めします。これは混乱や予期せぬ結果を避けるのに役立ちます。
以上がPython 正規表現: エスケープ シーケンスには接頭辞 \'r\' が必須ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。