基礎入門編と置換処理編で正規表現について説明しました。ここではこれまでに登場した正規表現を整理してまとめています。一部登場していないものも含まれています。
正規表現について詳しく知りたい方には「詳説 正規表現」(通称フクロウ本)がお勧めです。
文字列ではなく位置にマッチする正規表現です。前方一致や後方一致を実現する時に使います。
正規表現 | 説明 |
---|---|
^ | 行頭 |
$ | 行末 |
/b | 単語境界 |
/B | 単語境界以外 |
どれか1文字を選ぶ時に使います。
正規表現 | 説明 |
---|---|
[012] | 0、1、2のいずれか |
[0-9] | 0から9のいずれか(数字1文字) |
[^0-9] | 0から9以外の1文字(数字以外の1文字) |
略記法という便利な書き方もあります。ただし、環境によってマッチする文字が変わりますので注意してください。
略記法 | 同等の表記 | 説明 |
---|---|---|
\d | [0-9] | 数字 |
\D | [^0-9] | 非数字 |
\s | [ \f\n\r\t\v] | 空白文字 |
\S | [^ \f\n\r\t\v] | 非空白文字 |
\w | [a-zA-Z0-9_] | 単語構成文字 |
\W | [^a-zA-Z0-9_] | 非単語構成文字 |
ピリオドは任意の1文字を表します。
正規表現 | 説明 |
---|---|
. | 任意の1文字 |
同じ文字や文字列、あるいはパターンを繰り返す時に使います。
正規表現 | 説明 |
---|---|
{m,n} | m回以上n回以下の繰り返し |
{m,} | m回以上の繰り返し |
{m} | m回の繰り返し |
よく使われるパターンについては記号が割り当てられています。
記号 | 同等の表記 | 説明 |
---|---|---|
* | {0,} | 0回以上の繰り返し |
+ | {1,} | 1回以上の繰り返し |
? | {0,1} | 0回または1回 |
繰り返し回数をできるだけ少なくする指定です。
正規表現 | 説明 |
---|---|
{m,n}? | m回以上n回以下の繰り返し(非欲張り) |
{m,}? | m回以上の繰り返し(非欲張り) |
*? | 0回以上の繰り返し(非欲張り) |
+? | 1回以上の繰り返し(非欲張り) |
?? | 0回または1回(非欲張り) |
繰り返し回数をできるだけ多くする指定です。
正規表現 | 説明 |
---|---|
{m,n}+ | m回以上n回以下の繰り返し(強欲) |
{m,}+ | m回以上の繰り返し(強欲) |
*+ | 0回以上の繰り返し(強欲) |
++ | 1回以上の繰り返し(強欲) |
?+ | 0回または1回(強欲) |
前または後ろにある文字列の指定です。
正規表現 | 説明 |
---|---|
(?<=……) | 肯定戻り読み |
(?<!……) | 否定戻り読み |
(?=……) | 肯定先読み |
(?!……) | 否定先読み |
[関連]
前にマッチしたものと同じものにマッチします。
正規表現 | 説明 |
---|---|
\1 | 一つ目の括弧の中身と同じ内容 |
\2 | 二つ目の括弧の中身と同じ内容 |
ここでは書きませんが、3以上の数字も使えます。
[関連]