正規表現にはさまざまな記号があり、最初は覚えることが多く感じます。しかし、よく使う記号は限られているため、一覧で整理しておくと理解しやすくなります。この記事では、Pythonでよく使う正規表現の記号をまとめました。
正規表現に用いられる記号まとめ
?直前の修飾子の0回か1回の出現にマッチ*直前の修飾子の0回以上の出現にマッチ+直前の修飾子の1回以上の出現にマッチ{n}直前の修飾子のn回の出現にマッチ{n,}直前の修飾子のn回以上の出現にマッチ{0,n}直前の修飾子の0~n回の出現にマッチ{n,m}直前の修飾子のn回からm回の出現にマッチ^Hello「Hello」で始まる文字列とマッチHello$「Hello」で終わる文字列とマッチ.改行文字以外の任意の1文字とマッチ\d数字にマッチ\w英数字とアンダースコア(_)にマッチ\s空白文字にマッチ\D数字以外の文字にマッチ\W英数字とアンダースコア以外にマッチ\S空白文字以外の文字にマッチ[abc]角カッコの中の任意の1文字にマッチ(「a」「b」「c」のどれかにマッチ)[^abc]角カッコの中の文字以外の任意の1文字にマッチ(「a」「b」「c」以外の文字にマッチ)(Hello)‘Hello’を一つの修飾子にまとめる(グループ化)\bワード境界とマッチ\B非ワード境界とマッチ|r'cat|dog'cat または dogにマッチ
正規表現チートシート
? 直前のパターンの0回または1回の出現
* 直前のパターンの0回以上の出現
+ 直前のパターンの1回以上の出現
{n} n回の出現
{n,} n回以上の出現
{0,n} 0~n回の出現
{n,m} n~m回の出現
*? 最短一致(非貪欲)
+? 最短一致(非貪欲)
?? 最短一致(非貪欲)
{n,m}? 最短一致(非貪欲)
^ 文字列の先頭
$ 文字列の末尾
. 改行以外の任意の1文字
\d 数字
\D 数字以外
\w 英数字とアンダースコア(_)
\W 英数字とアンダースコア以外
\s 空白文字
\S 空白文字以外
[abc] a・b・cのいずれか1文字
[^abc] a・b・c以外の1文字
| OR(または)
() グループ化
\b 単語の境界
\B 単語の境界以外
さいごに
正規表現は覚えるより慣れることが大切だと思うので、まずはよく使う記号から実際に試しまくってみます。

コメント