【问题标题】:Why doesn't my Perl match operator match anything?为什么我的 Perl 匹配运算符不匹配任何内容?
【发布时间】:2010-12-12 02:26:29
【问题描述】:

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

但它不打印任何东西。虽然我正在对其进行故障排除,但如果您发现任何错误或潜在问题,我会询问专家。非常感谢您的帮助!

【问题讨论】:

标签: regex perl


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 2021-12-07
    • 2012-03-12
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多