Python 正規表現 - r 接頭辞
Python の正規表現モジュールは、次の文字列であることを示す r 接頭辞をサポートしています。生の文字列として扱う必要があります。これは、r プレフィックスにより Python がバックスラッシュ文字をエスケープ文字として解釈するのを防ぐため、エスケープ シーケンスを使用する場合に特に便利です。
ただし、r プレフィックスは必ずしも必要というわけではありません。たとえば、Python で無効なエスケープ シーケンスは、r プレフィックスが使用されていない場合でも、エスケープ シーケンスとして解釈されます。たとえば、最初の例では:
import re print (re.sub('\s+', ' ', 'hello there there'))
正規表現パターン ' ' は 1 つ以上の空白文字と一致します。この場合、バックスラッシュ文字がエスケープ文字として使用されていないため (一致する文字の範囲を定義しているだけです)、r プレフィックスは必要ありません。
ただし、r プレフィックスが必要です。たとえば、2 番目の例では:
import re print (re.sub(r'(\b\w+)(\s+\b)+', r'', 'hello there there'))
r 接頭辞が必要です。
最後に、r 接頭辞です。生の文字列が使用されている場合、必ずしも必要というわけではありません。たとえば、3 番目の例は 2 番目の例と同等です。
import re print (re.sub('(\b\w+)(\s+\b)+', '', 'hello there there'))
r プレフィックスは使用されませんが、正規表現パターンは引き続き正規表現パターンとして扱われます。生の文字列。これは、文字列リテラル全体が一重引用符で囲まれており、Python では生の文字列であることを示すためです。
結論として、r プレフィックスは必ずしも必要ではありませんが、使用する場合には使用することをお勧めします。 Python で有効なエスケープ シーケンス。
以上がPython の正規表現で接頭辞 \'r\' を使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。