ホームページ  >  記事  >  バックエンド開発  >  Python で文字列リテラルの前に \"r\" を使用する意味は何ですか?

Python で文字列リテラルの前に \"r\" を使用する意味は何ですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-17 20:00:04749ブラウズ

What is the Significance of Using

文字列リテラルの前に「r」を付けることの重要性

Python で複数行の正規表現を使用する場合、次のような問題が発生する可能性があります。接頭辞「r」。

regex = re.compile(
    r'^[A-Z]'
    r'[A-Z0-9-]'
    r'[A-Z]$', re.IGNORECASE
)

のような式でこの接頭辞が見つかると、文字列リテラルの "r" の目的は何ですか?

生の文字列修飾子

文字列リテラルの前の「r」接頭辞は、それを「生の文字列」として指定します。生の文字列には重要な特性があります。通常は "" で表されるエスケープ シーケンスは文字通りに解釈されます。

次の例を考えてみましょう。

'\n'  # interpreted as a newline character

先頭に「r」を付けると、エスケープはシーケンスは文字列内に保持されます。

r'\n'  # literal characters \ and n

エスケープ文字列と生の文字列

この区別は、エスケープ シーケンスを文字通り使用する必要がある場合に重要です。たとえば、文字列内のバックスラッシュ文字自体を表すには、「r」を使用して、次の文字列引用符がエスケープされないようにします。

r'\'

さらに、「r」を使用して、単一のバックスラッシュを含めることもできます。行継続 (構文エラーになります):

r'\'

結論

文字列リテラルの前に「r」を付けると、エスケープを保持したまま生の文字列に変換されます。シーケンスとそのリテラルの使用を許可します。この区別は、複数行にわたる正規表現を使用する場合、または特殊文字として解釈されずに文字列にエスケープ シーケンスを含める必要がある場合に不可欠です。

以上がPython で文字列リテラルの前に \"r\" を使用する意味は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。