Regex отрицательный взгляд, не исключая обязательную строку - PullRequest
0 голосов
/ 18 мая 2018

Добрый день

Я пытался применить определенное исключение в моей функции regex_like в SQL Netezza: regexp_like (trim (upper (a.MRCH_NME)), '\ bMAKRO \ s?(?! DEBTORS) ',' i ')

К сожалению, я не могу получить выражение для исключения "DEBTORS".Кто-нибудь сможет помочь мне найти мою ошибку?

Спасибо.

1 Ответ

0 голосов
/ 18 мая 2018

Вот одно быстрое решение для вашего паттерна:

\bMAKRO\s(?!DEBTORS)

Код:

regexp_like(trim(upper(a.MRCH_NME)),'\bMAKRO\s(?!DEBTORS)','i')

Причина, по которой ваш текущий паттерн позволяет MAKRO DEBTORS WOODME пройти, заключается в том, что он может принять\s необязательно, а затем утверждают, что DEBTORS не следует сразу за MAKRO.

Демо

Редактировать:

Вы можете также немного переписать свой негативный взгляд на это:

\bMAKRO(?!\s?DEBTORS)
...