首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >YashanDB REGEXP_LIKE函数

YashanDB REGEXP_LIKE函数

原创
作者头像
用户10349277
发布2025-07-09 16:34:13
发布2025-07-09 16:34:13
1690
举报
文章被收录于专栏:YashanDB知识库YashanDB知识库
代码语言:javascript
复制
regexp_like::= REGEXP_LIKE "(" expr "," regexp ["," match_para] ")"

REGEXP_LIKE为正则表达式函数,其功能与LIKE语法相似,但与LIKE只能使用'%'和'_'通配符相比,REGEXP_LIKE函数的regexp参数可使用正则表达式,对expr表示的字符串进行正则匹配,函数返回值为布尔类型,匹配成功时返回TRUE,否则返回FALSE。

expr的值须为字符型,或可转换为字符型的其他类型。当expr的值为NULL时,函数返回NULL。

expr不支持32000字节以上的XMLTYPE、LOB类型数据。

函数使用输入字符集定义的字符计算字符串(仅支持UTF-8)。

regexp

指定一个RegExp,长度不超过512字节,可为NULL,此时函数返回NULL。

match_para

YashanDB支持在进行正则匹配时指定如下匹配参数:

  • 'i':大小写不敏感。
  • 'c':大小写敏感,默认为此值。
  • 'n':允许句点(.)匹配任何字符,包括换行符。如果省略此参数,则句点与换行符不匹配。
  • 'm':将字符串视为多行,将^和$分别解释为字符串中任意行的开始和结束,而不仅仅是整个字符串的开始或结束。如果省略此参数,则将字符串视为一行。
  • 'x':忽略空白和#注释。默认情况下,空白字符与其自身匹配。

match_para参数可以不指定或指定为NULL(均使用默认值),如指定了除上述之外的其他参数,则函数返回YAS-04363错误。

示例

代码语言:javascript
复制
SELECT REGEXP_LIKE('aa\naa','^aa$','i') reg1,
REGEXP_LIKE('aa','^aa$','i') reg2 FROM DUAL;
REG1                 REG2              
-------------------- --------------------
false                true             
 
SELECT REGEXP_LIKE('AA','A.A') reg1,
REGEXP_LIKE('AA','A.A','n') reg2 FROM DUAL;
REG1                 REG2                
-------------------- --------------------
false                false     
 
SELECT REGEXP_LIKE('-654196584','^-[0-9]*[1-9][0-9]*$') reg1,
REGEXP_LIKE('654196584','^[0-9]*[1-9][0-9]*$','m') reg2 FROM DUAL;        
REG1                 REG2                
-------------------- --------------------
true                 true

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档