我正在尝试在c#中编写一个RegEx来检索方括号和特定字符串之间的字符串。例如,对于以下情况
Sum(Num[FriendlyName1]) + [FriendlyName2]
应该只返回FriendlyName1
Count([FriendlyName1])/[FriendlyName2]
应该只返回FriendlyName1
。[FriendlyName1] + [FriendlyName2]
应该回复不匹配我提出的是RegEx (?<=(?i)sum\(|count\()(.*?)(?=\])
。
上面的RegEx给了我:
1. Num[FriendlyName1
2. Num[FriendlyName1
3.不匹配
对于上述情况。我可以使用SubString
方法获取char [
索引之后的字符串。但是我想知道我是否可以使用RegEx实现这一目标。缺少的是处理Sum(
或Count(
之间和[
之前的任何字符串。
我的示例可以访问here。
答案 0 :(得分:0)
使用这个怎么样:
const newObj: any = x;
x = newObj.data.values.find((item: any) => item.description === key);
(?<=(Sum|Count)[^[]+\[)[^]]+