perl regex返回匹配数,带锚点

时间:2014-04-29 20:07:52

标签: regex perl

我正在尝试匹配未注释掉的字符串中的括号数

例如:

stuff stuff { stuff { // {stuff {

应该返回2;

这是我到目前为止的尝试,但最多返回1次。

$count=()=$line=~/^((?!\/\/).)*?{/g;

感谢您的时间。

2 个答案:

答案 0 :(得分:2)

在没有正则表达式的情况下,分两步完成此操作更容易:

my $string = 'stuff stuff { stuff { // {stuff {';

my ($code) = split '//', $string;
my $count = $code =~ tr/{//;

print $count;

答案 1 :(得分:1)

^仅匹配字符串的开头。如果你删除它,你得到4:

$count = () = "stuff stuff { stuff { // {stuff {" =~ /((?!\/\/).)*?{/g;
print $count, "\n";