RegEx игнорирует текст внутри внутренних скобок .net - PullRequest
1 голос
/ 19 июля 2011

У меня есть требование, где я должен обработать 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 голосов
/ 20 июля 2011

Я не уверен, правильно ли я понимаю, но если вы просто используете (отметьте пропущенный знак вопроса):

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

, тогда .* будет соответствовать как можно большему числу символов, поэтому \) будет соответствовать последнему ) выражения.

...