RegEx忽略内部大括号.net中的文本

时间:2011-07-18 21:14:27

标签: .net regex ignore

我有要求我必须处理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>\))

1 个答案:

答案 0 :(得分:0)

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

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

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