簡単な正規表現メタ文字のまとめ

<大前提>
メタ文字そのものを検索したい場合は、メタ文字の前に\をつける事で回避可能
(*を検索したければ\*と書けばよい)


<メタ文字・代替文字系>
.」任意の一文字
いわゆるワイルドカードに近い使い方。
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

ここは最初と同じ。%で始まる行を表す。


あとはこの部分を単純に削除すれば必要な数字だけが残るはず。
大体そんな感じ。