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


posted @ 2020-04-18 16:12  李子恒  阅读(5207)  评论(0编辑  收藏  举报