Perl マッチした文字列を取り出す | でばぐめ -IT技術メモ-

でばぐめ -IT技術メモ-

主にハードウェア/ソフトウェアのプログラミングに関するブログです。

Perlのマッチ変数を利用して文字列の一部を取り出します。


カッコで囲んだパターンがマッチした部分を正規表現メモリに記憶し、
正規表現メモリの内容は$1,$2...のような特殊変数に格納されています。


初めてのPerl に掲載されてあるコードを参考にすると、


$_ = "Hellow there, neighbor";
if(/(\S+) (\S+), (\S+)/) {
  print "\$1: $1\n";
  print "\$2: $2\n";
  print "\$3: $3\n";
}

結果は下のようになります。

$1: Hellow
$2: there
$3: neighbor

コンマは記憶するカッコの外側にあるので、メモリ($2)に含まれません。
このテクニックを使えば、必要なものだけをメモリに取り込めます。


関連書籍



初めてのPerl 第5版/Randal L. Schwartz
¥3,780
Amazon.co.jp

初心者にもわかりやすく書かれていますが、

全くの初心者というより、少しPerlに慣れてきた時に威力を発揮する本です。

簡単なテキスト操作のためにPerlを使用するのであれば十分事足ると思います。


プログラミングPerl〈VOLUME1〉/ラリー ウォール
¥5,565
Amazon.co.jp

ページ数も多く、価格もそれなりなので、Perlについて詳しく知りたい人向けです。

"初めてのPerl"と重複する箇所も多々あるので、これからがっちりPerlを身につけたい人は

こちらをおすすめします。