正規表現
「検索」や「置換」などで文字列のパターン照合を行う時に使用する記法です。
正規表現では特別な意味を持たされている文字が存在し、その特殊な文字を「メタ文字」や「メタキャラクタ」と呼びます。
主に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 | スペース、タブ、改行、リターン、改ページ以外にマッチ |