キャプチャサブグループ
(?:…)
正規表現における強力な概念は、任意の数の文字にマッチングする機能です。例えば、寄付金額を入力するフィールドを持つフォームを作成したとします。裕福なユーザーは25,000ドルを寄付したいかもしれませんが、普通のユーザーは25ドルを寄付したいかもしれません。
このようなパターンを表現する一つの方法は、クリーネスターとクリーネプラスとして知られているものを使用することです。これらは本質的に、後に続く文字(常に文字またはグループの後に続く)の0個以上または1個以上を表します。たとえば、上記の寄付金額に一致させるには、パターン\d*を使用して任意の桁数に一致させることができますが、より厳密な正規表現は\d+であり、入力文字列に少なくとも1桁の数字が含まれていることを保証します。
これらの数量詞は、任意の文字または特殊なメタ文字で使用できます。たとえば、a+(1つ以上のa)、[abc]+(a、b、またはcのいずれかの文字の1つ以上)、.*(任意の文字の0個以上)などです。
以下は、スターとプラスの両方のメタ文字を使用して一致させることができるいくつかの単純な文字列です。
| 課題 | テキスト | |
| 一致 | aaaabcc | ![]() |
| 一致 | aabbbbc | ![]() |
| 一致 | aacc | ![]() |
| スキップ | a | ![]() |
| 解答 | 一致させる各行には、少なくとも2つの「a」、0個以上の「b」、および少なくとも1つの「c」があるので、式 'aa+b*c+' を使用してこれを正確に表現できます。 あるいは、さらに制限的な表現としては、a{2,4}b{0,4}c{1,2} があり、各文字の数に上限と下限の両方を設定します。 |