正则表达式包括模式匹配,不包括另一个但不紧随其后的匹配

时间:2018-11-26 15:15:49

标签: regex

我目前在这样的查询中有模式匹配

if(upper(email_omni_code_mini) like '%TRAVEL%' and upper(email_omni_code_mini) NOT like '%TRAVEL%ENS%',...,...)

我想将其更改为单个模式匹配,但这不起作用     TRAVEL(?!ENS),因为ENS没有立即关注。

有没有一种方法可以轻松解决这个问题。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果它们之间还有其他字符,请在.*之前插入ENS

TRAVEL(?!.*ENS)

它现在将与TRAVEL匹配,该匹配不会立即跟着尽可能多的0+个字符,然后跟着ENS子字符串。

请参见regex demo