Javaの正規表現の文法規則は何ですか?
Javaの正規表現の構文ルールは以下の通りです:
- 文字クラス:角括弧を使って文字クラスを指定し、角括弧内のどれか1つの文字に一致することができます。例えば、[abc]は、’a’、’b’、’c’のいずれか1つの文字に一致します。
- 範囲:ハイフン(-)を使用して、範囲を指定することができます。ハイフンの両側にある文字範囲内の任意の文字を一致させることができます。例えば、[0-9]は任意の数字文字に一致します。
- 反義文字クラス:^を角かっこの中の一番最初に置くことで、反義文字クラスを指定することができ、角かっこの中の文字以外のどんな文字にもマッチする。例えば、[^abc]は’a’、’b’、’c’以外のどんな文字にもマッチする。
- Javaの正規表現では、いくつかの事前定義された文字クラスがあり、特定の一般的な文字を簡単にマッチングできます。例えば、\dは任意の数字文字、\wは任意の文字、数字、またはアンダースコア文字、\sは任意の空白文字とマッチします。
- 境界マッチャー:文字列の境界をマッチングするためのもの。例えば、^は文字列の先頭にマッチングし、$は文字列の末尾にマッチングします。
- 量詞は、一致回数を指定するために使用されます。たとえば、「*」は0回以上の一致を意味し、「+」は1回以上の一致を意味し、「?」は0回か1回の一致を意味します。そして、「{n}」はn回の一致、「{n,}」は少なくともn回の一致、「{n,m}」は少なくともn回以上m回以下の一致を意味します。
- エスケープ文字:特別な意味を持つ文字をエスケープするために使用されます。例えば、.はピリオド文字(.)に一致し、\はバックスラッシュ文字(\)に一致します。
- 括弧によるグループ化は、複数の文字をまとめて一致させたり処理したりすることができます。例えば、(abc|def)は、文字列’abc’または’def’に一致します。
- 後方参照:前に一致したグループを参照するために使用されます。例えば、\1ははじめのグループを参照し、\2は2番目のグループを参照します。
- 零幅アサーション:文字を消費しない位置をマッチするために使用される。たとえば、(?=pattern)はpatternの直後に続く位置にマッチし、(?!pattern)はpatternの直後に続かない位置にマッチする。
Java正規表現式の一部の一般的な構文ルールが記載されていますが、他にもさまざまな高度な使用法や特徴があり、実際のニーズに応じて学習や適用が必要です。