文字列リテラルの前に「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 サイトの他の関連記事を参照してください。