Python: 正規表現の特殊文字一覧

Pythonの正規表現で使用する特殊文字をまとめています。

任意の1文字

特殊文字説明
.(ドット)任意の1文字

行頭・行末

特殊文字説明
^行頭
$行末

繰り返し

繰り返しは「直前の文字を繰り返す」ことを意味します。

特殊文字説明
*0回以上
+1回以上
?0回または1回以上
{n}n回
{n,}n回以上
{n,m}n回~m回

「最長マッチ」と「最短マッチ」

「*」「+」「?」は最長マッチになります。 最短マッチで取得する場合は「*?」「+?」「??」のように 後ろに「?」を付けます。

関連記事: 正規表現の最長マッチと最短マッチ

文字クラス

[]角括弧で括ったパターンは「文字クラス」と言います。 []内のいずれかの文字に一致するかどうかを調べます。
特殊文字説明
[文字の並び]文字の並びのいずれかの文字
[^文字の並び]文字の並び以外の文字

文字クラスの具体的なパターンの例を紹介します。

パターン説明
[abc]abcのいずれか
[0-9]0~9のいずれか
[A-Z]A~Zのいずれか
[A-Za-z]A~Z,a~zのいずれか
[^0~9]0~9以外の文字

文字クラスの簡易表現

文字クラスでよく使うパターンの簡易表現です。

特殊文字説明
\s空白
\S空白以外
\d数字
\D数字以外
\w英数字、[A-Za-z0-9]と同じ
\W英数字以外
\A文字列の先頭
\Z文字列の末尾

グループ化と選択

特殊文字説明
()グループ化
|いずれか

その他

特殊文字説明
\b単語の境界
\\\
Python