我是Perl的新手并且正在玩屏幕抓取和正则表达式。我正在尝试提取以下HTML块的“标题”名称:
... title="The Valley Downs Chicago"><img class="vimg120" ...
我这样做的简单Perl代码是:
@htmlBlocks = split ("margin-bottom:20px",$content);
foreach $item (@htmlBlocks)
{
if (/\stitle="([^"]*)"/six)
{
print $1;
}
}
但它不会打印任何内容。虽然我正在排除故障,但我会问专家你是否看到任何错误或可能有问题。非常感谢您的帮助!
答案 0 :(得分:9)
默认情况下,//
搜索使用$_
变量。如果要搜索另一个变量,请在=~
之前指定它。这是一个例子:
@htmlBlocks = split ("margin-bottom:20px",$content);
foreach $item (@htmlBlocks) {
if ($item =~ /\stitle="([^"]*)"/six) {
print $1;
}
}