- 1. 概要
- 2. 基本
- 3. Magic
- 4. 特殊メタ文字
- 5. 参考サイト
1. 概要
「vim」で置換する際にも、正規表現が使えるようです。
2. 基本
まず、「vim」の正規表現は、主に「POSIX」標準(特に「BRE: Basic Regular Expression」)をベースにしつつ、そこから独自の拡張や進化を遂げた仕様を基本としている・・・とのことです。
以下に、「vim」独自で発展した、方言的なものを。
3. Magic
「Vim」の正規表現の最大の特徴は、「どの文字をメタ文字(特別な意味を持つ文字)として扱うか」を切り替える4つのモード(マジック)が存在することなのだそうです。
初期状態(ノーマル)では、一部の記号(「*」や「.」など)はそのままメタ文字になりますが、「+」や「?」、「()」などをメタ文字として使うには「\+」や「\(」のようにバックスラッシュ(エスケープ)が必要になりますとのこと。
まだよう理解できておりませんが。
検索パターンの先頭に以下のメタ文字を付けることで、モードを切り替えられます。
| モード | 指定子 | 特 徴 | 備考 |
| Very Magic | \v | 最も現代的なプログラミング言語(PCRE)に近い。 ほぼすべての記号がデフォルトでメタ文字になる。 | |
| Magic | \m | デフォルト設定。 「.」や「*」はメタ文字だが、「+」や「()」はエスケープが必要。 | |
| No Magic | \M | 「^」と「$」以外はすべてただの文字列として扱う。 | |
| Very No Magic | \V | 完全なプレーンテキスト検索。すべての記号がただの文字列になり、エスケープなしでそのまま検索できる。 | |
わたしには、「\V」が使い勝手がよさそうな・・・。
4. 特殊メタ文字
以下、「vim」独自のメタ文字を紹介します。
| 記号 | 意 味 | 備考 |
| \<, \> | 単語の先頭と末尾(単語境界) | |
| \s | いわゆるホワイトスペースであるが、改行を含まない | |
| \d | 数字([0-9] と同等) | |
| \a | 英文字([a-zA-Z] と同等) | |
改行を含む、任意の一文字は「\_.」で表現し、改行を含むホワイトスペースは「\_s」で表現するようです。
5. 参考サイト
本ページは、下記のサイトおよび「Gemini」伍長を参考にさせていただきました。
「Vim の正規表現アレコレ」
|
|