我正在尝试匹配未注释掉的字符串中的括号数
例如:
stuff stuff { stuff { // {stuff {
应该返回2;
这是我到目前为止的尝试,但最多返回1次。
$count=()=$line=~/^((?!\/\/).)*?{/g;
感谢您的时间。
答案 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";