-->
正規表現とは
いくつかの文字列を一つの形式で表現するための表現方法のことをいいます。
この表現方法を使えば、たくさんの文章から見つけたい文章を検索することが出来ます。
| 基本的なメタ文字 | ||
| . | 改行を除く任意の 1 文字 | |
| * | 直前のパターンが0回以上の繰り返し | {0,} と同義 |
| + | 直前のパターンが1回以上の繰り返し | {1,} と同義 |
| ? | 直前のパターンが0回または1回現れる | {0,1} と同義 |
| ^ | 文字列の先頭。m修飾子指定の時は行の先頭。 | |
| $ | 文字列の末尾。m修飾子指定の時は行の末尾。 | |
| \ | 右隣のメタ文字をクォートするエスケープ文字 | |
| | | パターンの選択 | |
| () | パターンのグループ化 | |
| [] | カッコ内の文字どれかひとつ | 使えるメタ文字 b f n r t nnn d w s - ^ |
| [a-z] | 範囲内の文字どれかひとつ。 この場合アルファベットaからzの間 | |
| [^0-9] | この場合0から9以外(数字以外)の文字。 | ^を先頭においた場合、並べた文字以外になる |
| {} | 量指定子 | |
| {n} | n回の繰り返し | |
| {n,} | n回以上の繰り返し | |
| {n,m} | n回以上m回以下の繰り返し | |
| {n} {n,} {n,m} * + ?の直後に?をおくとマッチする中で最も先頭に近いものにマッチします。Perl5以降 | ||
| 特殊な文字や文字クラスにマッチするメタ文字 | ||
| \a | アラーム | |
| \cx | 対応するコントロール文字(cdはコントロール-d) | |
| \e | エスケープ | |
| \f | 改ページ文字 | |
| \n | 改行 | |
| \r | キャリッジリターン | |
| \t | タブ | |
| \xnn | 16進数を文字コードとする文字。nは数字です。 | |
| \nnn | 8進数を文字コードとする文字。nは数字です。 | |
| \d | 数字0〜9 | [0-9] |
| \D | 数字以外の文字。 | [^0-9] と同義 |
| \w | 英数字と_ | [_a-zA-Z0-9] と同義 |
| \W | w以外の文字 | [^_a-zA-Z0-9] と同義 |
| \s | 空白文字(空白・タブ・改行) | [ tnrf] と同義 |
| \S | 空白文字以外 | [^ tnrf] と同義 |
| \l | 直後の文字を小文字に変換 | Perl5のみ |
| \u | 直後の文字を大文字に変換 | Perl5のみ |
| \L | 次のEまで小文字に変換 | Perl5のみ |
| \U | 次のEまで大文字に変換 | Perl5のみ |
| \Q | 次のEまでメタ文字をクォート | Perl5のみ |
| \E | L U Qの効果を終了 | Perl5のみ |
| \b | 単語境界 w、W の間 | |
| \B | 単語境界以外 | |
| \A | 文字列の先頭 | Perl5のみ |
| \Z | 文字列の末尾。末尾に改行がある場合はその直前 | |
| \z | 文字列の末尾(5.005以降) | |
| \G | 直前のm//gが終わった位置 | Perl5のみ |
| 修飾子 | ||
| c | g と併せて使用し、失敗時の検索位置リセット禁止 | |
| g | マッチするものすべて | |
| i | 大文字、小文字の区別なし | |
| s | 文字列を単一行として扱う | |
| m | 文字列を複数行として扱う | |
| o | パターンコンパイルを一回だけ行う | |
| x | 空白を無視して、# をコメントとする | |
| マッチングが成功したときの特殊変数 | ||
| $1,$2,・・・ | ()の部分が n番目にマッチした文字列 | |
| $& | 正規表現とマッチした部分 | |
| $` | マッチした部分より前にある文字列 | |
| $' | マッチした部分より後にある文字列 | |
| $+ | 最後の ()内のパターンにマッチした文字列 | |
| 修飾子 | ||
| c | 検索リストに含まれない文字が検索対象となる | |
| d | 検索リスト部に含まれているが、変換文字リスト部に対応する文字がない文字を削除する | |
| s | 連続している同じ文字をまとめて1文字にする。 | |