文字列リテラルにおける "r" プレフィックスの役割を明らかにする
Python で文字列リテラルを作成するときに、謎の "r" に遭遇したことがあるかもしれません。 " という接頭辞。この接頭辞は、特に正規表現を扱う場合に、文字列の解釈に影響を与える可能性のある特定の意味を持ちます。
接頭辞「r」は、文字列を「生の」文字列として扱う必要があることを示します。これは、Python が文字列内のすべてのエスケープ シーケンスを無視し、文字を文字通り表現できることを意味します。
エスケープ シーケンスの回避
通常の文字列では、\ などのエスケープ シーケンスが使用されます。 n と \t は、改行やタブなどの特殊文字を表すものとして解釈されます。一方、生の文字列は、これらのエスケープ シーケンスをリテラル文字として保持します。
たとえば、文字列リテラル '\n' は改行文字を表し、r'\n' は文字 '\' を表し、文字通り「ん」。これは、エスケープ シーケンスの意図しない解釈を避けるために、複数行にわたって正規表現を定義する場合に非常に重要です。
正規表現の例
この例では、r 接頭辞が付いています。文字列は、大文字で始まり大文字で終わる行と一致する正規表現を構築するために使用されます。 「r」接頭辞がないとエスケープ シーケンスが解釈され、正規表現の意図した動作が妨げられる可能性があります。
文字列リテラルの影響
正規表現以外にも、 「r」接頭辞は、文字通りに扱う必要がある特殊文字が含まれる可能性のある文字列を扱う場合に便利です。たとえば、文字列に引用符やバックスラッシュを含める必要がある場合、先頭に「r」を付けると、エスケープ シーケンスとして解釈されなくなります。
「r」の起源を理解する
接頭辞「r」は正規表現とは直接関係ありませんが、むしろ「raw」の短縮形です。この用語は C プログラミング言語に由来しており、エスケープ シーケンスの解釈の対象ではない「生の」文字列を指定するためにプレフィックスが使用されていました。 Python はこの規則を継承し、文字列リテラル内の生の文字列を処理する便利な方法を提供します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3