正規表現

正規表現とは?

正規表現(Regular Expression)は、文字列のパターンを表現するための記法です。例えば、「Mから始まる3文字の文字列」といったパターンを記述することができます。正規表現を利用して、このようなパターンにあてはまる文字列を検索したり、違う文字に置換したりすることができます。

正規表現では、パターンを記述するメタ文字が使用されます。

基本的なメタ文字

メタ文字 意味
. 任意の1文字(改行文字を除く)
* 直前のパターンの0回以上の繰り返し
+ 直前のパターンの1回以上の繰り返し
? 直前のパターンが0回もしくは1回繰り返し
^ 文字列(m修飾子指定のときは行)の先頭
$ 文字列(m修飾子指定のときは行)の末尾
\ 右隣りの文字列をクォートする
| パターンの選択(or)
( ) パターンのグループ化
[ ] 文字クラス
{ } 量指定子

特殊な文字や文字クラスにマッチするメタ文字

メタ文字 意味
\a アラーム
\cX Xの文字に対応するコントロール文字
\e エスケープ
\f 改ページ
\n 改行
\r リターン
\t タブ
\xnn nnの16進数を文字コードとする文字
\nnn nnnの8進数を文字コードとする文字
\d 数字、[0-9]と同義
\D 数字以外、[^0-9]と同義
\w 単語構成文字、[_a-zA-Z0-9]と同義
\W 単語構成文字以外、[^_a-zA-Z0-9]と同義
\s 空白文字、[ \t\n\r\f]と同義
\S 空白文字以外、[^ \t\n\r\f]と同義
\l 直後の文字を小文字に変換
\u 直後の文字を大文字に変換
\L 次の\Eまでを小文字に変換
\U 次の\Eまでを大文字に変換
\Q 次の\Eまでのメタ文字をクォート
\E \L, \U, \Qの効果を終了
\b 単語の境界
\B 単語の境界以外
\A 文字列の先頭
\Z 文字列の末尾もしくは改行文字の直前
\z 文字列の末尾
\G 直前のm//gが終わった位置