正規表現・メタ文字

Last-modified: 2022-10-28 (金) 15:19:01

正規表現

「検索」や「置換」などで文字列のパターン照合を行う時に使用する記法です。
正規表現では特別な意味を持たされている文字が存在し、その特殊な文字を「メタ文字」や「メタキャラクタ」と呼びます。
主にinclude系のプラグインで使用します。

メタ文字

メタ文字読み方意味/使用例
^キャレット行頭
----
^Banana で行頭が Banana の6文字にマッチします。
行の途中に存在する Banana の6文字にはマッチしません。
$ドル
ドルマーク
行末
----
Banana$ で行末が Banana の6文字にマッチします。
行の途中に存在する Banana の6文字にはマッチしません。
^文字$
^と$の間の文字だけが存在する行にマッチ
----
例1:^Banana$ で Banana の文字だけが存在する行にマッチします。
例2:^.*$ で行全体にマッチします。
.ピリオド任意の1文字
----
リ.ゴ で「リ」から始まり「ゴ」で終わる3文字の文字列にマッチします。
┗リンゴ リソゴ リnnゴ など。
*アスタリスク直前の文字を0回以上繰り返す(最長一致)
直前の文字がなくても使用できる。
----
リンゴ酢* で リンゴ リンゴ酢 リンゴ酢酢酢酢酢 などにマッチします。
左から順に0回、1回、5回繰り返しています。
+プラス直前の文字を1回以上繰り返す(最長一致)
直前に1文字以上必要。
----
リンゴ酢+ で リンゴ酢 リンゴ酢酢酢酢酢 などにマッチします。
?クエスチョン直前の文字を0回または1回繰り返す(最長一致)
----
リンゴ酢? で リンゴ リンゴ酢 にマッチします。
*?
直前の文字を0回以上繰り返す(最短一致)
+?
直前の文字を1回以上繰り返す(最短一致)
??
直前の文字を0回または1回繰り返す(最短一致)
.*
任意の文字を0回以上繰り返す(最長一致)
----
リ.*ゴ で「リ」から始まり「ゴ」で終わる2文字以上の文字列にマッチします。
┗リゴ リゴゴ リスと戯れるボンゴ など。
パイプ
パイプライン
タテセン
|の左右のいずれかの文字列にマッチ
----
イヌ|ネコ で イヌ または ネコ にマッチします。
イヌ|ネコ|ハムスター のように3パターン以上も照合できます。
※|は半角だと表を組むための文字として扱われてしまうため、全角で記載しています。
[]カクカッコ[]内のいずれか1文字にマッチ
----
[abc] または [a-c] で abc の3文字のいずれか1文字にマッチします。
[^文字]
[^]内の文字以外にマッチ
----
[^abc] または [^a-c] で abc の3文字以外にマッチします。
()マルカッコ
パーレン
()内を1つのグループにまとめる(グループ化)
----
例1:リ(ンゴ)+酢 で「リ」と「酢」の間に「ンゴ」を1回以上繰り返す箇所にマッチします。
マッチ例=リンゴ酢 リンゴンゴ酢 など。
※グループ化された「ンゴ」を「+」で1回以上繰り返すようになっています。
例2:リンゴ(の皮を剥く|を食べる)ゴリラ で
リンゴの皮を剥くゴリラ リンゴを食べるゴリラ にマッチします。
()がない場合 リンゴの皮を剥く を食べるゴリラ にマッチします。
※|は半角だと表を組むための文字として扱われてしまうため、全角で記載しています。
\エンキゴウ
バックスラッシュ
直後の文字をエスケープ(メタ文字として扱わない)
----
例1:\\ で \ にマッチします。
例2:\| で | にマッチします。表のみを取り込みたい時に使用します。
※|は半角だと表を組むための文字として扱われてしまうため、全角で記載しています。
\t
タブ
\n
改行
\r
リターン
\f
改ページ
\b
単語の境界(単語の先頭または末尾)
\B
単語の境界以外
\w
英数字とアンダースコア(アンダーライン)にマッチ
\W
英数字とアンダースコア(アンダーライン)以外にマッチ
\d
数字にマッチ
\D
数字以外にマッチ
\s
スペース、タブ、改行、リターン、改ページにマッチ
\S
スペース、タブ、改行、リターン、改ページ以外にマッチ