2009-10-15 6 views
0

вхождение Если я эти строки:Regex игнорировать сменив слово

banana not included. apple included. 
banana, apple included. 

регулярное выражение ниже возвращает матч на обеих строк, но я не хочу матч на первой строке

banana.*(?<!(\bnot))inc(\.|luded)? 

Что я не хватает в своем регулярном выражении, чтобы достичь желаемого результата.

Спасибо!

+0

Есть несколько различных двигателей регулярных выражений. Какой язык/двигатель вы используете? – Emily

+0

C#, .NET. Цените свою помощь Эмили. – Jaime

ответ

1

Трудно сказать только из двух примеров, но, возможно, это то, что вы хотите?

banana(?!.*\bnot\b).*\binc(\.|luded)? 
+0

Спасибо, Лоуренс! Я думаю, что мы близки, но я нашел еще одну вариацию, в которой строка «оранжевый». Включен банан, яблоко не включено ». Это не дает мне матча. Еще раз спасибо, я очень ценю вашу помощь. – Jaime

0

У меня нет лучшего решения, чем Лоранс, но ответить, почему часть вашего вопроса, я считаю, что .* уже поглотила not, что ваш просмотр назад ищет.

Смежные вопросы