badboy200800

正则表达式语法参考

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


分类:

技术点:

相关文章: