REGEX匹配[WildCard]但不匹配[WildCard]。[WildCard]

时间:2017-06-08 15:52:40

标签: c# regex regex-lookarounds

使用C#Regex

实施例

简单输入:[testA]。[max] [testB]

匹配:[testB]

输入:5 / [test1] [test2]。[max] [test3] * 2 [min]

匹配:[test1] [test3] [min]

定义

我想匹配任何类似[Whatever]但不匹配[Whatever]。[(min | max | mean | sum | median)]

尝试

这种方式与[min]本身不匹配。

(?!\[((\w|[.])+)\]\.\[(min|max|mean|sum|median)\])\[((?!min|max|mean|sum|median).+?)\]

1 个答案:

答案 0 :(得分:1)

怎么样

(?<!\.)\[[A-Za-z0-9]*\](?!\.\[.*\])
  • (?<!\.) - 阻止.[max]匹配匹配的负面反馈。
  • \[[A-Za-z0-9]*\] - 匹配[...],必要时添加其他字符。
  • (?!\.\[.*\]) - 忽略[...].[...]的否定前瞻。