ひよっこPGのブログ

主に、技術メモや英語たまにギター関連のことも書いているブログです。

正規表現メモ

正規表現とは

検索や置き換えで使われる文字列をパターンで表現する方法のこと。
パターンを表現するための記号 = メタ文字がいくつも用意されており、それらを組み合わせて「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"。

.+や .*などの場合