正規表現
正規表現についてのメモ
正規表現をチェックするサイトについてはこちらでまとめた
本記事における正規表現の検証はregex101にて言語ECMAScript(JavaScript)を指定して行った
そのため、他言語では結果が異なる場合があるので注意すること
メタ文字
メタ文字とは正規表現の中で特別な意味を持つ文字や記号
メタ文字自身を指定するときはエスケープ処理をする
文字種
\d == 0-9
\w == a-z, A-Z, 0-9, _
\s == スペース, タブ、改行
// 大文字 == それぞれの否定になる
\D == \d以外の一文字
\W == \w以外の一文字
\S == \s以外の一文字

aから始まる文字列を指定

量指定子
直前の文字を何回繰り返すかを指定する
記号でも{n}や{min,}などを表現できる
アンカー
^ キャレット(ハット)で先頭の数値を指定
$ で末尾の数値を指定

\b \bで囲んだ単語を指定

選択子
どちらかを指定
改行とタブ
1個以上の改行を指定して、replaceメソッドで置換するようなシーンに利用できる
キャプチャグループ
()で囲んだ単語を1つのグループとして記憶する
後方参照
文字クラス [ ]
[ ]で囲んで使用する
- 文字クラス内で
^、-、]、\を使うときはエスケープが必要 ^は[^のように最初に使用しない場合は、リテラルとして扱われる[-のように範囲を指定する対象がない場合は、リテラルとして扱われる
エスケープ
メタ文字をエスケープして、リテラル(通常の文字)として検索する
バックスラッシュは option + ¥
Reference
MDN 正規表現
.NETの正規表現
メタ文字
文字コード
グループと範囲 MDN
キャプチャグループ
正規表現でのコンストラクトのグループ化