$match = q(<a href="#google"><h1><b>Google</b></h1></a>);
if($match =~ /<a.*?href.*?><.?>(.*?)<\/a>/){
$title = $1;
}else {
$title="";
}
print"$title";
出力:Google</b></h1>
そのはず :Google
Perl で正規表現を使用してリンクから値を抽出できません。ネストが 1 つ多かれ少なかれ含まれている可能性があります:
<h1><b><i>Google</i></b></h1>
これを試してください:
1) <td><a href="/wiki/Unix_shell" title="Unix シェル">Unix シェル</a>
2) <a href="http://www.hp.com"><h1><b>HP</b></h1></a>
3) <a href="/wiki/Generic_programming" title="ジェネリック プログラミング">ジェネリック</a></td>);
4) <a href="#cite_note-1"><span>[</span>1<span>]</span></a>
出力:
Unix シェル
HP
ジェネリック
[1]