レッスン11:マッチグループ

正規表現を使用すると、テキストにマッチするだけでなく、さらなる処理のために情報を抽出することもできます。これは、文字のグループを定義し、特別な括弧()メタ文字を使用してそれらをキャプチャすることによって行われます。括弧内の任意のサブパターンは、グループとしてキャプチャされます。実際には、これはあらゆる種類のデータから電話番号やメールアドレスなどの情報を抽出するために使用できます。

たとえば、クラウドにあるすべての画像ファイルを一覧表示するコマンドラインツールがあるとします。その場合、^(IMG\d+\.png)$のようなパターンを使用してファイル名全体をキャプチャして抽出できますが、拡張子を除いたファイル名だけをキャプチャしたい場合は、ピリオドの前にある部分だけをキャプチャするパターン^(IMG\d+)\.png$を使用できます。

それでは、以下のPDFファイルのファイル名(拡張子を除く)のみにマッチする正規表現を作成してみましょう。

演習11:マッチグループ
課題 テキスト キャプチャグループ  
キャプチャ file_record_transcript.pdf file_record_transcript To be completed
キャプチャ file_07241999.pdf file_07241999 To be completed
スキップ testfile_fake.pdf.tmp To be completed
解答

"file"で始まり、ファイル拡張子が".pdf"である行だけをキャプチャしたいので、"file"の開始から拡張子までをキャプチャする単純なパターンを次のように記述できます。^(file.+)\.pdf$.

上記の課題を解いて次の問題に進んだり、解答をご覧ください。