【问题标题】:RegEx ignore text inside inner braces .net正则表达式忽略内部大括号内的文本.net
【发布时间】:2011-07-18 21:14:27
【问题描述】:

我有处理NOT 的要求。例如:

NOT( A AND B) 将被转换为
NOT A OR NOT B

现在我的问题是如果里面有一个括号应该直接跳过它。
例如:

NOT( A AND B or (C AND D) ) 将转换为
NOT A OR NOT B AND NOT(C AND D)

注意(C AND D) 保持不变 我正在使用以下正则表达式:

(?<PRE>[ ]\bnot\b\()(?<IN>\b.*?\b)(?<POST>\))

【问题讨论】:

  • 请阅读编辑器帮助,让您的问题可读。

标签: .net regex


【解决方案1】:

我不确定我是否理解正确,但如果您只是使用(注意缺少的问号):

(?<PRE>[ ]\bnot\b\()(?<IN>\b.*\b)(?<POST>\))

那么.* 将匹配尽可能多的字符,因此\) 将匹配表达式的最后一个)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-31
    • 1970-01-01
    相关资源
    最近更新 更多