簡単な正規表現メタ文字のまとめ
<大前提>
メタ文字そのものを検索したい場合は、メタ文字の前に\をつける事で回避可能
(*を検索したければ\*と書けばよい)
<メタ文字・代替文字系>
「.」任意の一文字
いわゆるワイルドカードに近い使い方。
ex:ああ.い→あああい、ああいい、ああうい...等
「*」前の文字の0個以上の繰り返し
前の文字がいくつあるかわからない場合。無い場合もヒットする。
ex:おー*い→おい、おーい、おーーい...etc
「+」前の文字の1個以上の繰り返し
前の文字がいくつあるかわからない場合。無い場合はヒットしない。
ex:おー+い→おーい、おーーい...etc(「おい」はヒットしない)
「?」前の文字が0か1個
あるかどうか不明、という意味での「?」。あやふやな部分や複数形などに。
ex:Windows?→Winodw、Windows
「^」行頭
「$」行末
<メタ文字・区切り系>
「|」または
複数の検索語句を同時に指定するとき。
ex:あ|あれ|これ|それ→あ、あれ、これ、それ
「」複数文字の指定
「[^]」複数文字の指定(否定)で括られた中身の文字のいずれか。もしくは^以降に書かれた文字でないもののいずれか。
数字やアルファベットに関しては[0-9]、[A-Z]などの書き方でまとめて指定可能
ex:[0-9]→0、1、2、3、4、5、6、7、8、9
ex:[あいうえお]→あ、い、う、え、お
ex:[^あいうえお]→あ、い、う、え、お以外の文字
「()」文字のグループ化
()で括られた中身が一文字と同じ扱いで検索される。他のメタ文字との組み合わせの為のメタ文字。
ex:(はい)+→はい、はいはい、はいはいはい...etc
ex:それは(昨日|今日|明日)だ→それは昨日だ、それは今日だ、それは明日だ
おまけ
MATLABのキャリブレーションツールのデータを使う
で書いた正規表現を見てみると
omc_error.*\n|Tc_error.*\n|omc_[0-9]+ += \[ |Tc_[0-9]+ += \[ | ;|\];|%.*\n
で区切られた部分は別物として考えればいいので、とりあえず分離して |
omc_error.*\n
Tc_error.*\n
これは特定の語句の後に「.*\n」がついている。\nは改行を表すので、特定の語句の後に「.*」、すなわち「任意文字の0文字以上の繰り返し」の後に「改行」までがヒットするように。
つまりは特定語句で始まる行の検索。
omc_[0-9]+ += \[
Tc_[0-9]+ += \[
ここは特定語句(「omc_」、「Tc_」)の後に数字([0-9])が1個以上繰り返され、
1個以上の半角スペース( +)の後にイコール、そして括弧の始まり(\[)となって
omc_1 = [
Tc_1 =[
の部分の検索。この後に必要な数字がある。
;
\];
数字部分から、不必要な数字間の区切り( ;)や最後の括弧閉じ(\])を検索していく
%.*\n
ここは最初と同じ。%で始まる行を表す。
あとはこの部分を単純に削除すれば必要な数字だけが残るはず。
大体そんな感じ。