Добрый день.
У меня есть задача - в строке найти предложения, содержащие определенное слово, и только это предложение заменить на фразу.
Регулярное выражение получилось такое (границы предложения ищу грубо по символам . ? !):
(?i)(?<=([\.\?!]|^))[^\.\?!]*СЛОВО[^\.\?!]*(?=([\.\?!]|$))
Сейчас появилось условие, что нужно исключить из замены предложения, в которых перед СЛОВО есть СЛОВО2. И с этим у меня проблемы. Такая регулярка не работает:
(?i)(?<=([\.\?!]|^))[^\.\?!]*(?<!СЛОВО2)[^\.\?!]*СЛОВО[^\.\?!]*(?=([\.\?!]|$))
Можно ли вообще это сделать?
И я делаю это на SQL, возможно лучше переделать с регулярных выражений на циклы?