指定した範囲内のいずれか1文字を表す
この記事では、指定範囲内の1文字を表すメタ文字である [ ](角括弧) について説明します。
[ ]
指定範囲内の1文字とは、名前の通り、指定した範囲に収まる1文字のことです。 『英大文字のA から 英大文字のZ までの1文字』のように範囲で指定することができます。
なお、この記事でも以下のテキストを例に操作を説明します。
- hello 2014
- vi editor
- vi editor.
- vi editor
- vim Editor
- Vim Editor
- a
- aa
- aaa
- aaaa
- aaaaa
- .
- *
- ^
- $
- /
- \
- [
- ]
- <
- >
- {
- }
指定範囲内の1文字を表す [ ](角括弧)
正規表現では、[ ](角括弧) で指定範囲内の1文字を表すことができます。
なお、範囲指定は、[ ](角括弧)内に記述しなくてはなりません。 範囲指定は、並べて記述することも、-(ハイフン)で区切って開始と終了で記述することもできます。
例えば、
[128]
と記述すると、数字の1 または 2 または 8 のいずれか1文字に一致します。 また、
[A-Z]
という記述では、英大文字のA から Z までのいずれか1文字に一致します。 なお、複数の範囲をまとめて記述することもできます。 例えば、
[a-zA-Z0-9]
と表記すると、英小文字のa から z または 英大文字のA から Z または 数字の 0 から 9 のいずれか1文字に一致します。
なお、[あ-ん] や [タチツテト] や [亜亞] のように、ひらがな・カタカナ・漢字で範囲指定することもできます。
では、実際に [ ](角括弧) で範囲指定したテキスト検索を実施してみましょう。

上図のように文字カーソルは文書の先頭にあると仮定して説明を始めます。
まずは、英小文字の前の英大文字を検索してみましょう。
では、キーボードから /[A-Z][a-z]<Enter> を入力してください。
/[A-Z][a-z]<Enter>

上図のように文字カーソルが6行目の "Ed" に移動します。
このように、英小文字の前にある英大文字に一致します。
さらに、順方向の次の一致へ移動してみましょう。
キーボードから n を入力してください。
n

上図のように文字カーソルが7行目の "Vi" に移動します。
範囲外を指定することもできる
[ ](角括弧)の内部の先頭に ^(キャレット) を記述することで、範囲外の1文字を指定することができます。 例えば、
/[^A-Za-z0-9]<Enter>
とすることで、英字でも数字でもない1文字を検索することができます。





