【正規表現 一覧】正規表現まとめ
テキスト処理、ファイル処理等でよく利用する正規表現ですが、今回はそれらについてまとめてみました。
○文字系
記号 意味
. 任意の1文字
* 直前の文字の0回以上の繰り返し1
+ 直前の文字の1回以上の繰り返し1
? 直前の文字は省略可能1
*? 直前の文字の0回以上の繰り返し2
+? 直前の文字の1回以上の繰り返し2
?? 直前の文字は省略可能2
[ ~ ] [ ]の中のどれか1文字5
[^ ~ ] [ ]の中に無い1文字5
( ~ | … ) ~か…かどっちか
{n} 直前の文字のn回の繰り返し
{min,max} 直前の文字のmin以上max以下の繰り返し(min、maxは省略可能)1
{min,max}? 直前の文字のmin以上max以下の繰り返し(min、maxは省略可能)2
\w アルファベット、数字、アンダスコア( _ )のどれかの1文字
\W アルファベット、数字、アンダスコア以外の1文字
\d 数字1文字
\D 数字以外の1文字
\s 半角スペース、タブ、改行のどれか1文字
\S 半角スペース、タブ、改行以外の1文字
\n 改行
\t タブ
\ \記号
( ~ ) ( )内を1文字扱い
○位置系*3
記号 意味
^ 行の先頭
$ 行の末尾
\< 単語の先頭
\> 単語の末尾
\b 単語の先頭か末尾
\B 単語の先頭、末尾以外
\A ファイルの先頭
\z ファイルの末尾
\G 直前の一致文字列の末尾
○置換文字列で使える正規表現
記号 意味
\0 一致した文字列全体
\1 \2 … \9 それぞれ検索文字列の1~9番目の ( ) に一致した文字列*4
\l 次の1文字を小文字にする
\L ~ \E 挟まれた文字列を小文字にする
\u 次の1文字を大文字にする
\U ~ \E 挟まれた文字列を大文字にする
\n 改行
\t タブ
\ \記号
*1 最長一致と呼ばれ、条件に合う一番長い部分に一致します。
*2 最短一致と呼ばれ、条件に合う一番短い部分に一致します。
*3 「位置系」の記号は「特定の文字列」ではなく「特定の位置」に一致します。
*4 ( ) の順番は ( が現れる順番です。
*5 [ ] 内で正規表現は使えません