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 |