【Python】r"..." って何?raw文字列の使い方や活用シーンをわかりやすく解説

Pythonでプログラミングをしていると、文字列の中にバックスラッシュ(\)が含まれる場面に遭遇することがあります。

そんなときに便利なのが「raw文字列」という記法です。

r"..." という書き方で表される raw文字列 は、バックスラッシュをエスケープ文字として解釈せず、文字通りそのまま扱うための仕組みです。

この記事では raw文字列の基本的な使い方から、実際の活用シーン、注意点までをわかりやすく丁寧に解説します。

raw文字列とは?

raw文字列は、Pythonにおける 文字列リテラルの特殊な記法 のひとつです。

通常の文字列では、バックスラッシュ(\)は改行文字 \n やタブ文字 \t などのエスケープシーケンスとして解釈されます。

しかし、 raw文字列では、バックスラッシュもそのまま文字として扱われます。

raw文字列は、文字列の前に r または R を付けて記述します。

具体例① :Windowsのファイルパス

raw文字列の最も典型的な使用例が、Windowsのファイルパス指定です。

このように:

  • 通常の文字列では \n や \t がエスケープシーケンスとして解釈されてしまう
  • raw文字列を使うことで、パス区切り文字のバックスラッシュをそのまま使える
  • ファイル操作の際にも、パス指定が簡単になる

具体例②:正規表現パターン

raw文字列は正規表現を書くときにも非常に便利です。

正規表現では:

  • \d(数字)、\w(文字)、\.(リテラルのドット)など、バックスラッシュを多用する
  • 通常の文字列だと \\d のように二重にエスケープが必要
  • raw文字列なら \d とそのまま書ける

raw文字列で使える様々な記法

raw文字列は、以下のような形式で記述できます。

記法 説明
r"..." r"Hello\World" 基本的なraw文字列
R"..." R"Hello\World" rの大文字版(同じ意味)
r'...' r'Hello\World' シングルクォートでも可
r"""...""" r"""複数行の<br>raw文字列""" 複数行のraw文字列
r'''...''' r'''複数行の<br>raw文字列''' 複数行(シングル版)

raw文字列を使うときの注意点

末尾にバックスラッシュは置けない

raw文字列の末尾にバックスラッシュを置くと、シンタックスエラーになります。

raw文字列でもクォート文字に注意

raw文字列の中でも、使用しているクォート文字と同じ文字は適切にエスケープするか、異なるクォート文字を使う必要があります。

まとめ

今回はPythonのraw文字列について詳しく解説しました。

  • raw文字列は r"..." の記法で、バックスラッシュをエスケープ文字として解釈しない
  • Windowsのファイルパス、正規表現などで特に威力を発揮
  • 通常の文字列とraw文字列を使い分けることで、コードが読みやすくなる
  • 末尾のバックスラッシュやクォート文字の扱いには注意が必要

raw文字列をマスターすることで、ファイル操作や文字列処理、正規表現など、様々な場面で読みやすく保守しやすいコードを書けるようになります。

特にWindowsでの開発や、正規表現を多用する処理では必須のテクニックなので、ぜひしっかりと理解しておきましょう!

おすすめの記事