Perl不一致XML属性的正则表达式

时间:2014-11-13 11:59:50

标签: xml regex perl

我正在尝试使用单个正则表达式编写正则表达式以从下面两行的值字段(字符串“male”)中捕获

option selected="selected" value="***male***"

option value="***male***" selected="selected"

我写过一些像

这样的东西
option\s*?(?:value="(.+?)" selected="selected")|(?:selected="selected" value="(.+?)")

即使它匹配文件中的整行,但未捕获“男性”字符串。请建议。

1 个答案:

答案 0 :(得分:0)

local $/; $_ = <DATA>; $match=$_;
my @values;
while($match=~m/value="([^\"]*)"/g)
{
     push(@values, $1);
}
print join "\n", @values;

__DATA__
option selected="selected" value="***male***"
option value="***male***" selected="selected"