Perl の正規表現の「名前付き捕捉」がとても便利 2014-08-07-1 [Programming] Perlの正規表現で「名前付き捕捉」を使うと、マッチした部分に名前をつけておけるのであとから参照するときに便利。 「(?<name>...)」でマッチさせると、ハッシュ「%+」に保存されて、「$+{name}」でアクセスできるのです。同じ正規表現内では「\g{name}」など。 サンプルプログラムです。日付表現にマッチしたら、年、月、日をそれぞれ別途格納。そしてそれを正規化して出力。 サンプルプログラム: #!/usr/bin/env perl use strict; use warnings; while (<DATA>) { chomp; if (m{ (?<Y>[0-9]{4})\s?年\s? (?<m>[01]?[0-9])\s?月\s? (?<d>[0-3]?[0-9])\s