【问题标题】:REGEX Match [WildCard] but not [WildCard].[WildCard]正则表达式匹配 [WildCard] 但不匹配 [WildCard].[WildCard]
【发布时间】:2017-11-10 10:37:54
【问题描述】:

使用 C# 正则表达式

示例

简单输入:[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).+?)\]

【问题讨论】:

    标签: c# regex regex-lookarounds


    【解决方案1】:

    怎么样

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

    【讨论】:

    • 谢谢你 ;) 我上次评论的 nvm 删除了它。
    猜你喜欢
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多