Regex Teradata中的单词边界正则表达式

Regex Teradata中的单词边界正则表达式,regex,teradata,Regex,Teradata,考虑这两个字符串,我试图找到姓氏ng的匹配项,并忽略其他单词,如string、working、looking: t1 = "Strings are fun" t2 = "Andrew ng is great" 在Python中,我可以使用单词边界,例如: > re.findall('\bnb\b, t1) > [] > re.findall('\bnb\b, t2) > ng 如何在Teradata中复制\b,以便 SELECT

考虑这两个字符串,我试图找到姓氏
ng
的匹配项,并忽略其他单词,如
string、working、looking

t1 = "Strings are fun"
t2 = "Andrew ng is great"
在Python中,我可以使用单词边界,例如:

> re.findall('\bnb\b, t1)
> []
> re.findall('\bnb\b, t2)
> ng
如何在Teradata中复制
\b
,以便
SELECT REGEXP\u simular(t1,模式'i')
返回
0
&
SELECT REGEXP\u similor(t2,pattern,'i')
返回
1

Teradata regex基于PCRE并支持
\b
,但REGEXP\u similor需要完全匹配,您需要添加
*

select 'Andrew ng is great' as s
   ,regexp_similar(s,'.*\bng\b.*')       -- 1
   ,regexp_substr(s,'\bng\b', 1, 1, 'i') -- ng


select 'Strings are fun' as s
   ,regexp_similar(s,'.*\bng\b.*')       -- 0
   ,regexp_substr(s,'\bng\b', 1, 1, 'i') -- NULL