🐍 Python

Python re モジュール クイックリファレンス

AIが生成するPythonコードには、文字列の抽出・置換・検証のためにreモジュールがよく登場します。このページはPython記事で基礎を押さえた人向けに、reモジュールの主要な機能を一覧にしたクイックリファレンスです。各項目をクリックすると、実行して確認済みのサンプルコードとあわせて詳しく解説したページに移動します。

検索・一致判定

  • re.match — 文字列の先頭からパターンに一致するかを調べる
  • re.search — 文字列のどこかでパターンに一致する箇所を探す
  • re.fullmatch — 文字列全体がパターンに完全一致するかを調べる

複数箇所の取得

  • re.findall — 一致する部分をすべてリストで取得する
  • re.finditer — 一致箇所ごとにMatchオブジェクト(位置情報つき)を1件ずつ取得する

置換・分割

  • re.sub — 一致する部分を置換する
  • re.subn — 置換しつつ置換件数も一緒に取得する
  • re.split — 一致する部分を区切りとして文字列を分割する

グループと再利用

動作オプション

よく使う特殊文字の早見表
\d / \w / \s
数字1文字 / 英数字・アンダースコア1文字 / 空白文字1文字(それぞれ大文字\D \W \Sは否定)
* / + / ?
直前の文字が0回以上 / 1回以上 / 0回か1回
{n,m}
直前の文字がn回以上m回以下(例: \d{4}は数字ちょうど4桁)
^ / $
文字列の先頭 / 末尾
[...] / (...)
文字クラス(いずれか1文字) / グループ化(取り出し対象にできる)
💡 ワンポイントアドバイス:パターン文字列は必ずr'...'(raw文字列)で書く

正規表現パターンを普通の文字列'...'で書くと、\dのようなバックスラッシュを含む記法がPython自身のエスケープシーケンスとして解釈され、意図と違う挙動になることがあります。AIが生成したコードにr'\d+'のようなrプレフィックスが付いていたら、それは正規表現用の記法だと意識してください。付いていないコードを見かけたら、動いているように見えても一度疑うべきポイントです。

AIが生成したコード全般を読み解く視点はClaude Codeの記事もあわせて確認してみてください。