トップ > 初級編 > その他 > 正規表現(初級編) >
指定範囲内の1文字

  

指定した範囲内のいずれか1文字を表す

この記事では、指定範囲内の1文字を表すメタ文字である [ ](角括弧) について説明します

[ ]

指定範囲内の1文字とは、名前の通り、指定した範囲に収まる1文字のことです。 『英大文字のA から 英大文字のZ までの1文字』のように範囲で指定することができます。

なお、この記事でも以下のテキストを例に操作を説明します

  1. hello 2014
  2. vi editor
  3. vi editor.

  4. vi editor
  5. vim Editor
  6. Vim Editor
  7. a
  8. aa
  9. aaa
  10. aaaa
  11. aaaaa
  12. .
  13. *
  14. ^
  15. $
  16. /
  17. \
  18. [
  19. ]
  20. <
  21. >
  22. {
  23. }
 
  
3行目の先頭には、空白を1つ入れてあります。
  
4行目は空行です。
  
5行目の先頭には、空白を2つ入れてあります。

指定範囲内の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 へ移動する
6行目の Ed へ移動する

上図のように文字カーソルが6行目の "Ed" に移動します

このように、英小文字の前にある英大文字に一致します。

さらに、順方向の次の一致へ移動してみましょう。

キーボードから n を入力してください。

n
7行目の Vi へ移動する
7行目の Vi へ移動する

上図のように文字カーソルが7行目の "Vi" に移動します

範囲外を指定することもできる

[ ](角括弧)の内部の先頭に ^(キャレット) を記述することで、範囲外の1文字を指定することができます。 例えば、

/[^A-Za-z0-9]<Enter>

とすることで、英字でも数字でもない1文字を検索することができます。

  
  

まとめ

正規表現では、[ ](角括弧) で指定範囲内の1文字を表すことができます。

範囲指定は、[569] のように列挙して指定することも、[a-z] のように開始と終了で記述することもできます。 また、[a-zA-Z] のように複数の範囲を指定することもできます。

また、[^A-Za-z0-9] のように ^(キャレット) を [ ](角括弧) の内部の先頭に指定することで、指定範囲外の1文字を表すこともできます。

正規表現 意味
[a-zA-Z] 英字の1文字
[0-9] 数字の1文字
[0-9A-Za-z] 英数字の1文字
[a-z] 英小文字の1文字
[A-Z] 英大文字の1文字
メニュー