为什么我的Perl匹配运算符不匹配任何东西?

时间:2009-11-01 19:41:22

标签: regex perl

我是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;
}
}

但它不会打印任何内容。虽然我正在排除故障,但我会问专家你是否看到任何错误或可能有问题。非常感谢您的帮助!

1 个答案:

答案 0 :(得分:9)

默认情况下,//搜索使用$_变量。如果要搜索另一个变量,请在=~之前指定它。这是一个例子:

@htmlBlocks = split ("margin-bottom:20px",$content);
foreach $item (@htmlBlocks) {
    if ($item =~ /\stitle="([^"]*)"/six) {
        print $1;
    }
}