キャプチャ サブグループ
(?:abc)
前のレッスンで見たように、クリーン スターとプラスを使用すると、行内で繰り返される文字にマッチさせることができます。
テキストのマッチングと抽出時に非常に一般的なもう 1 つの数量詞は、? (疑問符) メタ文字で、オプションを表します。このメタ文字を使用すると、先行する文字またはグループの 0 個または 1 個のどちらかにマッチさせることができます。たとえば、パターン ab?c は、b がオプションと見なされるため、文字列 "abc" または "ac" のどちらにもマッチします。
ドット メタ文字と同様に、疑問符は特殊文字であるため、文字列内の通常の疑問符文字にマッチさせるには、スラッシュ \? を使用してエスケープする必要があります。
以下の文字列で、「file」という単語の複数形が、見つかったファイルの数によってどのように変わるかに注目してください。オプション メタ文字を使用して、1 つ以上のファイルが見つかった行のみにマッチするパターンを作成してみてください。
| タスク | テキスト | |
| マッチ | 1 file found? | ![]() |
| マッチ | 2 files found? | ![]() |
| マッチ | 24 files found? | ![]() |
| スキップ | No files found. | ![]() |
| 解答 | メタ文字 '\d' を使用してファイル数にマッチさせ、式 \d+ files? found\? を使用して、ファイルが見つかったすべての行にマッチさせることができます。 最初の疑問符は先行する「s」文字 (複数形の場合) に適用され、末尾にある実際の疑問符はテキストにマッチさせるためにエスケープする必要があることに注意してください。 |