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正则表达式