Memoize |
BasicWerk
EC Support
Technique
Facebook
|
20141121225448_Perl_qr |
Perl_qr
正規表現の合成。
サンプル sample.htmlこのページは <a href="http://basicwerk.com/memoize/" target="_blank">basicwerk.com/memoize/</a> Archives: <a href="http://basicwerk.com/memoize/20141121222812_Perl_File_Find_total_size.html" target="_blank">Perl_File_Find_total_size</a> <a href="http://basicwerk.com/memoize/20141121120907_Perl_no_name_sub.html" target="_blank">Perl_no_name_sub</a> <a href="http://basicwerk.com/" target="_blank">BasicWerk</a> <a href="http://basicwerk.com/blog/" target="_blank">Old Blog</a> Thanks.
a タグ部分をマッチさせて、リンクが貼られている文字列部分を抜き出す。 qr.pl#! /usr/bin/perl use warnings; use strict; my $a_open = qr{<a[^>]+?>}; my $link_word = qr{(.+?)}; my $a_close = qr{</a>}; # 合体! my $regex = qr/${a_open}${link_word}${a_close}/; while (<>){ my $line = $_; chomp $line; # 一行に複数リンクがある場合に対応するため # while + g フラグ while ($line =~ m/$regex/ig){ print "$1\n"; } }
% qr.pl sample.html basicwerk.com/memoize/ Perl_File_Find_total_size Perl_no_name_sub BasicWerk Old Blog
|
© Shin Nakamura/BasicWerk 2014 |