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

REGEX Match [WildCard] but not [WildCard].[WildCard]

使用 C# 正则表达式

例子

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

匹配:[testB]

输入:5/[test1][test2].[max][test3]*2[分钟]

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

定义

我想用 [Whatever] 匹配任何东西,但不匹配 [Whatever]。[(min|max|mean|sum|median)]

尝试

这有点像它本身不匹配 [min]。

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

怎么样

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