正規表現
テキスト検索や置換(:substitute)、ファイル検索で
利用可能な正規表現を以下に示します。(とりあえず一覧だけ)
検索時の特殊文字
任意の1文字に一致 |
. |
\. |
|
行頭に一致 |
^ |
^ |
|
行末に一致 |
$ |
$ |
|
単語の開始位置に一致 |
\< |
\< |
|
単語の終了位置に一致 |
\> |
\> |
|
範囲内の一文字に一致 |
[a-z] |
\[a-z] |
|
範囲外の一文字に一致 |
[^a-z] |
\[^a-z] |
|
直前の文字の0個以上の繰返 |
* |
\* |
|
直前の文字の1個以上の繰返 |
\+ |
\+ |
|
直前の文字の0または1個の繰返 |
\= |
\= |
|
2つの分岐に分割 |
\| |
\| |
|
パターンのグループを1つの要素へ |
\(\) |
\(\) |
|
置換時の特殊文字
全体に一致 |
& |
\& |
|
&で置換 |
\& |
& |
|
全体に一致 |
\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固有 |
0 |
magicパラメータが優先(互換性のため) |
|
1 |
fixed(magic文字は認識しない) |
|
2 |
\のみがmagic文字として認識される(very
nomagic相当) |
|
3 |
nomagicと同じ |
|
4 |
magicと同じ |
|
5 |
英数字と_以外をmagic文字として認識(very
magic相当) |
|
- magiclevel=0 の場合は magic/nomagic の設定値が優先されます。
- magiclevel=1~5 の場合は検索パターンに \V, \M, \m, \v
を指定しなくとも
最初から正規表現パターンが数値に対応するパターンとして扱われます。
(もちろん途中で \V, \M, \m, \v で切り替えることができます)
正規表現の拡張
\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固有 |

戻る