Найдите шаблон, соответствующий «а», игнорируя тот «а», который лежит в пределах «б» и «с»

Need a compound expression for

" from" such that " from" is not within parenthesis

(игнорируя те, которые в скобках) здесьa=" from"; b="("; and c=")";

The closest (but invalid) pattern I could write is

string pat = @"^((?!\(.* from.*\)).)* from((?!\(.* from.*\)).)*$";

мое выражение отрицает, если таковые имеются & quot; от & Quot; присутствует в скобках, но я хочу строго игнорировать такие & quot; от & Quot;


Matches should be found in:

1: " from" 2:select field1 from t1 (select field1 from t1)   ---- 1 time in both
3: select field1 from t1 (select field1 from t1)select field1 from t1  ---2 times

Strings not containing matches:(Because i want to ignore the " from" within parenthesis)

1: select field1 no_f_rom_OutOf_Parenthesis t1 (select field1 from t1)
2: (select field1 from t1)  3: "" (Empty String) 4. No word as form
0 times in all four strings




Relevant Material: (не так много нужно читать)

Самая полезная ссылка ближе к моему вопросу о том, как соответствовать «шаблону» но не "обычный" Ответ от stanav был 31 июля 2009 г., 08:05 по следующей ссылке ...

http://www.vbforums.com/archive/index.php/t-578417.html

Также:Регулярное выражение в C #, которое содержит «this» но не "это"

Также:Регулярное выражение для соответствия строке, которая не содержит слова?

Я изучал / искал около недели, но все еще сложен для меня :)

Ответы на вопрос(2)

Ваш ответ на вопрос