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

Regex 正则表达式包括一个模式匹配,但不包括另一个模式匹配,但不紧跟其后,regex,Regex,我目前在这样的查询中有一个模式匹配 if(upper(email_omni_code_mini) like '%TRAVEL%' and upper(email_omni_code_mini) NOT like '%TRAVEL%ENS%',...,...) 我想将此更改为单一模式匹配,但这不起作用 行程(?!ENS)因为ENS没有立即跟随 有没有办法轻松解决这个问题 非常感谢您的帮助。如果中间还有其他字符,请在之前插入*: TRAVEL(?!.*ENS) 它现在将匹配TRAVEL,而不是紧

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

if(upper(email_omni_code_mini) like '%TRAVEL%' and upper(email_omni_code_mini) NOT like '%TRAVEL%ENS%',...,...)
我想将此更改为单一模式匹配,但这不起作用
行程(?!ENS)
因为ENS没有立即跟随

有没有办法轻松解决这个问题


非常感谢您的帮助。

如果中间还有其他字符,请在
之前插入
*

TRAVEL(?!.*ENS)
它现在将匹配
TRAVEL
,而不是紧跟其后的任何0+字符,尽可能多地紧跟
ENS
子字符串


请参阅。

如果中间有其他字符,请在
ENS
之前插入
*
。使用
TRAVEL(?。*ENS)
哦,好吧,我的印象是,在“向前看”中,可变字符数不起作用。我在很长一段时间后才重新考虑这个问题。加上这个作为回答