yupaがエンジニアになるまでを記録するブログ

FjordBootCamp (フィヨルドブートキャンプ ) で学んだことや、趣味のVRに関するメモを記録していきます

正規表現チートシート

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 にマッチした直後の位置以外のすべての位置を表す。