正規表現チートシート
JavaScript 第5版 11章 正規表現パターンマッチング を基に自分なりに表を作ってみたらいい感じにまとまったのでチートシートとして残しておく。
文字クラス
そのクラスに含まれる任意の1文字にマッチする。
正規表現 | 意味 |
---|---|
[...] | 角括弧内の任意の1文字。[a-z] のようにハイフンを使うと文字の範囲を指定できる。 |
[^...] | 角括弧内の任意の1文字以外の文字。 |
. | 改行以外の任意の文字 |
\w | 任意の単語文字。[a-zA-Z0-9]と同じ。 |
\W | ASCII文字での単語以外の文字。[^a-zA-Z0-9]と同じ |
\s | 任意のUnicode空白文字 |
\S | Unicode空白文字以外の文字 |
\d | 任意の数字。[0-9]と同じ。 |
\D | 数字以外の文字。[^0-9]と同じ。 |
繰り返し
正規表現 | 意味 |
---|---|
{n,m} | 直前の項目をn~m回繰り返す。 |
{n, } | 直前の項目をn回以上繰り返す。 |
{n} | 直前の項目をn回だけ繰り返す。 |
? | 直前の項目を0または1回だけ繰り返す。 |
+ | 直前の項目を1回以上繰り返す。 |
* | 直前の項目を0回以上繰り返す。 |
選択・グループ化・参照
正規表現 | 意味 |
---|---|
| | 選択。この記号の前後どちらかに一致する。 |
(...) | グループ化。複数の項目を一つにまとめる。後に\n でグループに一致する文字を参照できる。 |
\n | グループ番号nで指定された部分表現に一致した文字列に一致する。番号は、左から数えて何番目の() かで表す。 |
アンカー
文字列内の特定の位置を表すもの 。
正規表現 | 意味 |
---|---|
\b | 単語境界 行頭や単語間の空白の前後にマッチする。\w と\W の境界。ただし文字クラス内での\b はバックスペース文字に一致する。 |
$ | 行末 |
^ | 行頭 |
(?=p) | 肯定先読み。パターンp にマッチした直前の位置を表す。 |
(?!=p) | 否定先読み。パターンp にマッチした直前の位置以外のすべての位置を表す。 |
(?<=p) | 肯定後読み。パターンp にマッチした直後の位置を表す。 |
(?<!p) | 肯定後読み。パターンp にマッチした直後の位置以外のすべての位置を表す。 |