正規表現

テキスト検索や置換(:substitute)、ファイル検索で 利用可能な正規表現を以下に示します。(とりあえず一覧だけ)

検索時の特殊文字

説明 magic nomagic 備考
任意の1文字に一致 . \.
行頭に一致 ^ ^
行末に一致 $ $
単語の開始位置に一致 \< \<
単語の終了位置に一致 \> \>
範囲内の一文字に一致 [a-z] \[a-z]
範囲外の一文字に一致 [^a-z] \[^a-z]
直前の文字の0個以上の繰返 * \*
直前の文字の1個以上の繰返 \+ \+
直前の文字の0または1個の繰返 \= \=
2つの分岐に分割 \| \|
パターンのグループを1つの要素へ \(\) \(\)

置換時の特殊文字

説明 magic nomagic 備考
全体に一致 & \&
&で置換 \& &
全体に一致 \0 \0
最初の()に一致 \1 \1
2番目の()に一致 \2 \2
: : :
9番目の()に一致 \9 \9
前回の置換に一致 ~ \~
~で置換 \~ ~
次の文字を英大文字に \u \u
後続の文字列を英大文字に \U \U
次の文字を英小文字に \l \l
後続の文字列を英小文字に \L \L
\u,\U,\l,\Lの終端 \e \e
\u,\U,\l,\Lの終端 \E \E
行をこの場所で分割 <CR> <CR>
CRを入力 CTRL+V <CR> CTRL-V <CR>

magic パラメータ

前述した検索と置換時の特殊文字(正規表現)のパターンは magic パラメータによって組み合わせが切り替えることができます。

また、後述する更に詳細な magic 文字の切り替え(\V, \M, \m, \v)に 対応するために magiclevel パラメータを設けています。

パラメータ 省略形 形式 説明 初期値 備考
magic 二値 magic 文字として認識する組み合わせを変更 magic uvw固有
magiclevel mlv 数値 magic 文字として認識する組み合わせを変更 0 uvw固有
magiclevel値 説明 備考
0 magicパラメータが優先(互換性のため)
1 fixed(magic文字は認識しない)
2 \のみがmagic文字として認識される(very nomagic相当)
3 nomagicと同じ
4 magicと同じ
5 英数字と_以外をmagic文字として認識(very magic相当)

正規表現の拡張

正規表現 説明 備考
\i 英数字とアンダーバー [0-9a-zA-Z_]
\I 英字とアンダーバー [a-zA-Z_]
\k 英数字とアンダーバー [0-9a-zA-Z_]
\K 英字とアンダーバー [a-zA-Z_]
\f ファイル名に使える文字 [^\\/:*?"\<\>\|]
\F ファイル名に使える文字(数字除く) [^\\/:*?"\<\>\|0-9]
\p 表示可能文字(ascii文字) [\t\040-\137\141-\176]
\P 表示可能文字(ascii文字/数字除く) [\t\040-\057\072-\137\141-\176]
\s 空白文字 [|\t]
\S 空白文字以外 [^\|\\t]
\d 数字 [0-9]
\D 数字以外 [^0-9]
\x 16進数文字 [0-9a-fA-F]
\X 16進数文字以外 [^0-9a-fA-F]
\o 8進数文字 [0-7]
\O 8進数文字以外 [^0-7]
\w 単語(英数字) [0-9a-zA-Z_]
\W 単語(英数字)以外 [^0-9a-zA-Z_]
\h 単語先頭(英字) [a-zA-Z_]
\H 単語先頭(英字)以外 [^a-zA-Z_]
\a 英字 [a-zA-Z]
\A 英字以外 [^a-zA-Z]
\l 英小文字 [a-z]
\L 英小文字以外 [^a-z]
\u 英大文字 [A-Z]
\U 英大文字以外 [^A-Z]
正規表現 説明 備考
\e ESC文字
\t TAB文字
\r CR文字
\b BS文字
\n NL文字
正規表現 説明 備考
\V 以降のパターンをvery nomagic相当で認識 追加
\M 以降のパターンをnomagic相当で認識 追加
\m 以降のパターンをmagic相当で認識 追加
\v 以降のパターンをvery magic相当で認識 追加
正規表現 説明 備考
\c 検索パターンの大文字小文字を無視 追加
\C 検索パターンの大文字小文字を区別 追加

正規表現の独自拡張

前述した特殊正規表現の他に、日本語向けのローカル対応として 以下のような拡張正規表現を設けています。

正規表現 説明 備考
\zh ひらがな uvw固有
\zH ひらがな以外 uvw固有
\zk カタカナ(全角) uvw固有
\zK カタカナ(全角)以外 uvw固有
\zj 漢字 uvw固有
\zJ 漢字以外 uvw固有
\zn 漢数字 uvw固有
\zN 漢数字以外 uvw固有
\zd 全角数字 uvw固有
\zD 全角数字以外 uvw固有
\zx 全角16進数文字 uvw固有
\zX 全角16進数文字以外 uvw固有
\zo 全角8進数文字 uvw固有
\zO 全角8進数文字以外 uvw固有
\za 全角英字 uvw固有
\zA 全角英字以外 uvw固有
\zl 全角英小文字 uvw固有
\zL 全角英小文字以外 uvw固有
\zu 全角英大文字 uvw固有
\zU 全角英大文字以外 uvw固有

戻る