暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GaussDB SQL语法进阶—进阶函数—正则表达式

SQL语法进阶

进阶函数

正则表达式

模式 描述
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
. 匹配除“\n"之外的任何单个字符。要匹配包括’\n’在内的任何字符,请使用像’[\n]'的模式
a* 匹配0个或多个a字符。例如,zo*能匹配"z"以及"zoo"。*等价于{0,}
a+ 匹配1个或多个a字符。例如,'zo+'能匹配"zo"以及"zoo",但不能匹配"z"。+等价于{1,}
a? 匹配0个或1个a字符
p1|p2|p3 匹配p1或p2或p3。例如,‘z|flood’能匹配"z"或"food"。’(z|f)food’则匹配"zood"或"food"
[a-dX],[^a-dX] 匹配a,b,c,d,X中的任意字符。^表示未匹配a,b,c,d,X中的任意字符。例如,’[0-9]'可以匹配0到9中的任何数字
{n} n是一个非负整数。匹配确定的n次方。例如,'o{2}‘不能匹配"Bob"中的’o’,但是能匹配"food"中的两个o
{n,m} m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次
expr REGEXP pat,expr PLIKE pat -- 若expr处表达式与正则表达式匹配,则返回1,否则返回0.REGEXP和RLIKE等同于REGEXP_LIKE() SELECT 'Michael!' REGEXP '.*'; -- 1 SELECT 'a' REGEXP '^[a-d]'; -- 1 -- expr NOT REGEXP pat,expr NOT RLIKE pat:等同于NOT(expr REGEXP pat)
REGEXP_INSTR(expr,pat[,pos[,occurrence[,return_optin[,match_type]]]]) -- 返回与正则表达式模式匹配的子字符串的起始索引 -- expr为源字符串,pat为正则表达式 -- pos为可选参数,标识开始匹配的位置,默认为1 -- occurrence为可选参数,标识匹配的次数,默认为1 -- return_option为可选参数,指定返回值的糊弄。如果为0,则返回匹配的第一个字符的位置。如果为1,则返回匹配的最后一个位置,默认为0 -- math_type为可选参数,指明如何进行匹配。例如,可以使用此参数指定是否区分大小写 SELECT REGEXP_INSTR('aa aaa aaaa','a{2}'); -- 1 -- match: -- c:大小写敏感 -- i:大小写不敏感 -- m:多行模式 -- n:用'.'匹配行终止符 -- u:Unix类型的行结束符
REGEXP_LIKE(expr,pat[,match_type]) -- 比较给定的字符串,如果字符串相同则返回1,否则返回0 SELECT REGEXP_LIKE('CamelCase','CAMELCASE'); -- 1 SELECT REGEXP_LIKE('a','^[a-d]'); -- 1
REGEXP_REPLACE(expr,pat,repl[,pos[,occurrence[,match_type]]]) -- 通过匹配字符来替换给定的字符串 SELECT REGEXP_REPLACE('a b c','b','X'); -- a X c REGEXP_SUBSTR(expr,pat[,pos[,occurrence[,match_type]]]) -- 从给定的字符串中返回子字符串 SELECT REGEXP_SUBSTR('abc def ghi','[a-z]+'); -- abc
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论