我的正则表达式有问题。我是
试图提取while
和if
中的多个条件。我在Windows XP上使用Perl 5.8.6。
@conditions
是一个完全包含while循环内容的数组,例如:
while
(
(condition A) &&
(condition B)
)
您可以假设@conditions
数组包含以上数据:
my perl code sampled:
my $count = 0;
foreach my $condition (@conditions) {
$count++;
my ($open,$close) = $condition =~ /( (?: [(] | \s )* ) (.*) /msx;
print "$open $count $close";
}
和我的C代码:
while
(
(
1 condition A &&
2 condition B
)&&
(
3 condition C
4 condition D
)
)
当我有这样的while循环时,我遇到了问题:
while
(
(condition A) &&
(condition B)
)
我想要的输出必须是:
while
(
1 (condition A) &&
2 (condition B)
)
但它打印有......
while
(
( 1 condition A) &&
( 2 condition B)
)
任何人都可以帮助我使用正则表达式来获得我想要的输出吗?
答案 0 :(得分:2)
您有print "$open $count $close";
并且您声明您希望该数字位于括号之前。
因此请使用print "$count $open$close";