Шаблон, который соответствует a, но игнорирует образец a, который является подстрокой b [дубликат] ⇐ C#
-
Anonymous
Шаблон, который соответствует a, но игнорирует образец a, который является подстрокой b [дубликат]
Возможный дубликат:
Найдите шаблон, соответствующий «a», игнорируя тот «a», который находится внутри «b» и «c»
Если у меня есть следующая строка (например)
string q = "select field1 from t1 where field1 in (select field1 from t2)";
В данном случае у меня
a = " from"; b = @"\(.* from.*\)"; => " from" within parenthesis
Здесь вы можете увидеть, что «a» является подстрокой «b».
Самый близкий шаблон, который у меня есть:
string pat = @"^((?!\(.* from.*\)).)* from((?!\(.* from.*\)).)*$";
Но мне нужно, чтобы «pat» было изменено на «a» так, чтобы «a» не было подстрокой «b»... («a» и «b» — это переменные шаблоны). Я застрял в переводе этого в регулярное выражение. Я хочу использовать
string answer=Regex.Relace(q , pat , ",field2 from");
Желаемый результат: (значение в ответе должно быть)
"select field1,field2 from t1 where field1 in (select field1 from t2)"
Подробнее здесь: https://stackoverflow.com/questions/119 ... tring-of-b
Возможный дубликат:
Найдите шаблон, соответствующий «a», игнорируя тот «a», который находится внутри «b» и «c»
Если у меня есть следующая строка (например)
string q = "select field1 from t1 where field1 in (select field1 from t2)";
В данном случае у меня
a = " from"; b = @"\(.* from.*\)"; => " from" within parenthesis
Здесь вы можете увидеть, что «a» является подстрокой «b».
Самый близкий шаблон, который у меня есть:
string pat = @"^((?!\(.* from.*\)).)* from((?!\(.* from.*\)).)*$";
Но мне нужно, чтобы «pat» было изменено на «a» так, чтобы «a» не было подстрокой «b»... («a» и «b» — это переменные шаблоны). Я застрял в переводе этого в регулярное выражение. Я хочу использовать
string answer=Regex.Relace(q , pat , ",field2 from");
Желаемый результат: (значение в ответе должно быть)
"select field1,field2 from t1 where field1 in (select field1 from t2)"
Подробнее здесь: https://stackoverflow.com/questions/119 ... tring-of-b
Мобильная версия