正则表达式负先行不排除所需的字符串
Regex negative lookahead not excluding required string
美好的一天
我一直在尝试在 Netezza SQL 中的 regex_like 函数中应用特定排除:regexp_like(trim(upper( a.MRCH_NME)),'\bMAKRO\s?(?!DEBTORS)','i')
不幸的是,我无法获得排除 "DEBTORS" 的表达式。谁能帮我找出错误?
谢谢。
这是对您的模式的一种快速修复:
\bMAKRO\s(?!DEBTORS)
代码:
regexp_like(trim(upper(a.MRCH_NME)),'\bMAKRO\s(?!DEBTORS)','i')
您当前的模式允许 MAKRO DEBTORS WOODME
通过的原因是它可以将 \s
作为可选,然后断言 DEBTORS
不会紧跟在 MAKRO
之后.
编辑:
你也可以稍微重写你的负面前瞻:
\bMAKRO(?!\s?DEBTORS)
美好的一天
我一直在尝试在 Netezza SQL 中的 regex_like 函数中应用特定排除:regexp_like(trim(upper( a.MRCH_NME)),'\bMAKRO\s?(?!DEBTORS)','i')
不幸的是,我无法获得排除 "DEBTORS" 的表达式。谁能帮我找出错误?
谢谢。
这是对您的模式的一种快速修复:
\bMAKRO\s(?!DEBTORS)
代码:
regexp_like(trim(upper(a.MRCH_NME)),'\bMAKRO\s(?!DEBTORS)','i')
您当前的模式允许 MAKRO DEBTORS WOODME
通过的原因是它可以将 \s
作为可选,然后断言 DEBTORS
不会紧跟在 MAKRO
之后.
编辑:
你也可以稍微重写你的负面前瞻:
\bMAKRO(?!\s?DEBTORS)