正規表現でのブラケット記号の意味について
正規表現におけるブラケット記号は、パターンの一部をグループ化するために使用されます。ブラケットは通常、[ ]
の形式で表されます。
ブラケット内には、グループ化したい文字や文字範囲を指定します。以下に一般的な使用例をいくつか示します。
- 文字の指定:[abc]: a、b、cのいずれかの文字と一致します。[0-9]: 数字のいずれかと一致します。[a-zA-Z]: 英字のいずれかと一致します。[a-z0-9]: 小文字英字または数字と一致します。
文字の指定:
- [abc]: a、b、cのいずれかの文字と一致します。
- [0-9]: 数字のいずれかと一致します。
- [a-zA-Z]: 英字のいずれかと一致します。
- [a-z0-9]: 小文字英字または数字と一致します。
- 否定の指定:[^abc]: a、b、c以外の任意の文字と一致します。[^0-9]: 数字以外の任意の文字と一致します。
否定の指定:
- [^abc]: a、b、c以外の任意の文字と一致します。
- [^0-9]: 数字以外の任意の文字と一致します。
- 特殊なパターンの指定:[.]: ピリオド(ドット)文字と一致します。通常はピリオドは任意の文字を表すために使用されるため、明示的に一致させるためにバックスラッシュ \ を前に付けてエスケープする必要があります。
特殊なパターンの指定:
- [.]: ピリオド(ドット)文字と一致します。通常はピリオドは任意の文字を表すために使用されるため、明示的に一致させるためにバックスラッシュ \ を前に付けてエスケープする必要があります。
ブラケット内での特殊文字のエスケープは一般的に必要ありません。ただし、ブラケットの最初の文字が ^
の場合(否定の指定)、または最後の文字が -
の場合は、エスケープが必要です。
なお、正規表現エンジンによっては、ブラケット内での一部の特殊文字の挙動が異なる場合がありますので、使用する正規表現ライブラリや環境のドキュメントを参照することをおすすめします。
ブラケット記号のエスケープ処理
正規表現におけるブラケット記号 [ ]
自体をマッチさせたい場合、つまり文字としての [
や ]
を検索する場合には、バックスラッシュ \
を使用してエスケープする必要があります。
例えば、文字列中に [abc]
というテキストを含む行を検索したい場合、正規表現パターンは \[abc]
となります。ここでバックスラッシュ \
を使って [
をエスケープしています。
同様に、]
を文字としてマッチさせる場合も、バックスラッシュ \
を使用してエスケープします。例えば、文字列中に a]b
というテキストを含む行を検索したい場合、正規表現パターンは a\]b
となります。
バックスラッシュ \
は正規表現のエスケープ文字として広く使われるため、他の特殊文字やメタ文字をエスケープする場合にも使用されます。正規表現内でバックスラッシュ自体を検索する必要がある場合には、さらにバックスラッシュをエスケープして \\
とします。
ただし、正規表現を含むプログラムの言語によっては、エスケープ文字が異なる場合もあります。言語やフレームワークに依存している場合は、それぞれのドキュメントや仕様を参照してください。