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楼的已经可以,当然也可以将最后的左括号用断言来判断
|