Code Bye

求个提取括号前面字符串的正则表达式

 

sum(abc)+avg(l.asd.avg)比如我要取括号前面的sum和avg,要通用的,因为还有可能是max之类的公式

#1

没几个公式,枚举出来都放到集里面

#2

我不是想要知道有哪些公式,我是想知道字符串里面是否包含这些公式,但是字段中又有可能包含公式,比如avg(l.asd.avg),我就没办法用“avg(l.asd.avg)”.contains(avg)来判断

#3

回复2楼:

想知道字符串是否包含公式,你必须告诉什么样的字符串才是公式

sum|avg|max

把公式名字都列举出来

#4

非得指定具体字符串才能写出正则啊,那暂时就这么三个,要是以后还有我能不能自己加

#5

回复4楼:

具体问题具体对待,可以一次性写全啊,没几个啊

10分

#6

(?:sum|avg|max)(?=\()
35分

#7

            var s = "sum(abc)+avg(l.asd.avg)";
            var p = @"(\b\w+)\(";
            Regex.Matches(s, p).Cast<Match>().ToList().ForEach(x =>
            {
                Console.WriteLine(x.Groups[1].Value);
            }); 

#8

不复杂嵌套的话,7楼的已经可以,当然也可以将最后的左括号用断言来判断

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明求个提取括号前面字符串的正则表达式