サブグループのキャプチャ
(?:...)
特定の文字に一致または除外するパターンを作成する方法を学びましたが、連続した範囲の文字になり得る文字に一致させたい場合はどうでしょうか。それらをすべてリストするしかないのでしょうか?
幸いなことに、角括弧表記を使用する場合、ダッシュを使用して文字範囲を示すことで、連続した文字のリストにある文字に一致させるためのショートカットがあります。たとえば、パターン[0-6]は、0から6までの1つの数字文字のみに一致し、それ以外には一致しません。同様に、[^n-p]は、nからpまでの文字以外の単一の文字にのみ一致します。
複数の文字範囲を、個々の文字と一緒に同じ角括弧で使用することもできます。この例として、英数字の\wメタ文字があります。これは、文字範囲[A-Za-z0-9_]と同等であり、英語のテキストの文字に一致させるためによく使用されます。
以下の演習では、一致およびスキップするすべての行にパターンがあり、角括弧表記を使用して各行の各文字に一致またはスキップしていることに注意してください。パターンは大文字と小文字を区別し、a-zは一致する文字(小文字と大文字)に関してA-Zと異なることに注意してください。
| タスク | テキスト | |
| 一致 | Ana | ![]() |
| 一致 | Bob | ![]() |
| 一致 | Cpc | ![]() |
| スキップ | aax | ![]() |
| スキップ | bby | ![]() |
| スキップ | ccz | ![]() |
| 解答 | すべての文字は連続しているので、式[A-C][n-p][a-c]の異なる範囲を使用して、最初の3行のみに一致させることができます。 |