小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

Perlでm演算子と正規表現の記憶

m演算子は、文字列中の正規表現検索だけでなく、正規表現にマッチした文字列も取得することができます。
たとえば、以下では、小括弧中の正規表現『.*』にマッチした文字列が $1 へ代入され、つぎの右の小括弧2つは、同じくマッチした文字列が各々 $2 と $3 に格納される。

my $aaa = "111,222,333, 444,555";
$aaa =~ m/^(.*), (...),(5+)$/;
my @aaa = split(",", $1);
print $aaa[0], "\n"; # 111が表示
print $aaa[1], "\n"; # 222が表示
print $aaa[2], "\n"; # 333が表示
print $2, "\n"; # 444が表示
print $3, "\n"; # 555が表示

もう、$aaaと$aaa[0]の違いは分かるよね!