正規表現
正規表現についてのメモ
正規表現をチェックするサイトについてはこちらでまとめた
本記事における正規表現の検証は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
キャプチャグループ
正規表現でのコンストラクトのグループ化