如何在变量中找到所有匹配的模式并将它们写入输出和每个匹配字符串的换行符?

时间:2011-04-13 18:06:21

标签: regex perl

我有一个字符串变量

$variable 

我的模式如下:

/<OPTION [^>]*>\D*([^<]+)/g 

如何在该变量中打印所有匹配的字符串并写入控制台换行符 - \ n在每个与Perl匹配的字符串之后?

2 个答案:

答案 0 :(得分:2)

我建议使用TreeBuilder来解析HTML。如果使用XPathlook_down()功能,您将获得性能。

顺便说一下:

my @arr = $variable =~ /<OPTION [^>]*>D*([^<]+)/g;
for(0 .. @arr - 1) {
    print $arr[$_] . "\n";
}

答案 1 :(得分:1)

您应该使用模块处理HTML数据。如果你坚持这样做错误的方式:

print join("\n", $variable =~ /<OPTION [^>]*>\D*([^<]+)/g), "\n";