【TD函数】Teradata正则表达式函数
1.regexp_similar函数
功能:查看字符串是否包含某子串,包含则返回1,不包则含返回0。
select regexp_similar('iuh()87%^&6888','.*[0-9]{4}') --是以4个0-9的数字结尾的字符串,返回1
,regexp_similar('iuh()87%^&6888dkfj','.*[0-9]{4}') --不是以4个0-9的数字结尾的字符串,返回0
2.regexp_instr函数
功能:查看字符串包含某子串的位置,包含则返回首个匹配位置,不包含则返回0
select regexp_instr('我的998','app') --不包含app,返回0 ,regexp_instr('我的998app','app') --包含一个app,返回子串位置8 ,regexp_instr('我的apple998app','app') --包含两个app,返回第一个子串位置5
3.regexp_substr函数
功能:返回第一个匹配的子串
select regexp_substr('我的apple998','[a-z]{5}') --返回第一个连续5个小写字母apple ,regexp_substr('我的aaaae998我的apple008','[a-z]{5}') --返回第一个连续5个小写字母aaaae
4.regexp_replace函数
功能:替换所有匹配子串
select regexp_replace('我的apple998','[a-z]{5}','pp') --替换apple为pp,结果为"我的pp998" ,regexp_replace('我的aaaae998我的apple008','[a-z]{5}','pp') --替换aaaae和apple为pp,结果为"我的pp998我的pp008"
参考文档:Teradata正则表达式