2011-07-18 51 views
1

我有要求,我必须处理NOT。例如:正则表达式忽略内部大括号内的文本.net

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

请阅读编辑器帮助,使您的问题可读。 – SLaks

+0

对不起 – Naga

回答

0

我不知道如果我理解正确,但如果你只是使用(注意缺失的问号):

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

那么.*将匹配尽可能多的字符,所以\)将匹配表达式的最后)