正規表現(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が終わった位置