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