正規表現メモ
正規表現とは
検索や置き換えで使われる文字列をパターンで表現する方法のこと。
パターンを表現するための記号 = メタ文字がいくつも用意されており、それらを組み合わせて「a○○」や「3桁の数字」「先頭の2文字が ab」などを表すことが出来る。
または
1文字の場合 [ ] を使う
文字列の場合 | を使う
‘A' or ‘B' or ‘C’ = [ABC]
‘AAA' or ‘BBB' or ‘CCC’ = AAA|BBB|CCC
~から〜のどれか
0〜9のどれか = [0-9]
あ〜おのどれか = [あ-お]
〜以外
0〜9以外 = [^0-9]
文字の繰り返し
1回以上の繰り返し → +を使う
0回以上の繰り返し → *を使う
任意の1文字を表す . と組み合わせて使うことが多い。
.+ → 任意の1文字以上の文字列
.* → 任意の0文字以上の文字列
メタ文字自体を使いたい場合
+や * . などを使いたい場合は \(バックスラッシュ)を先頭につける
\+ , \*, \. のように
最長一致と最短一致
"abcd abcd abcd"の文字列で /a.+d/ (a○...d)という正規表現の場合
出来るだけ長い文字列でパターンマッチさせようとするので
"abcd abcd abcd"の文字すべてマッチすることになる = 最長一致
逆にできるだけ短い文字列でパターンマッチさせようとすると
/a.+?d/ となる。 これを最短一致という。
マッチするのは "abcd"。
.+や .*などの場合