INFORMIX MATCHES的使用详解

Wesley13
• 阅读 1101

MATCHES  运算符返回 TRUE ,如果一个字符串与给定的掩码匹配。

语法 
expr  [NOT]  MATCHES  mask   [ ESCAPE "char" ]  

expr是任何字符串表达式。
mask 是定义过滤器的字符串表达式。
char是指定转义符号的单个字符。
用法
该mask 可以是字符的任意组合,其中包括 *, ?, [, ], - 和 ^ 通配符:

该 * 星号字符匹配零个或多个字符的任何字符串。
该 ? 问号匹配任何单个字符。
该 [] 括号匹配任何封闭的字符。
在 []内, - (连字符)表示一系列字符。
在 []内, ^ 不能匹配列出的一系列字符,与“-“相反。
ESCAPE子句可用于定义不同于默认反斜杠的转义字符。它必须用单引号或双引号括起来。

反斜线(或由 逃逸子句)使操作符将下一个字符视为文字字符,即使它是掩码列表中的特殊符号之一。这使您可以搜索通配符charachers,如*, ?, [, ] 要么 \。

如果您需要转义通配符,请记住,字符串常量也必须转义反斜杠字符。因此,如果要将反斜杠传递给MATCHES运算符(通过使用反斜杠作为默认转义字符),则需要在原始字符串常量中写入四个反斜杠。

下表显示了源代码中使用的字符串常量及其类似的一些示例 模式:

表1.源代码中使用的字符串常量及其等价的 MATCHES 模式
原始字符串 等价的MATCHES模式    描述
“*”                  *               匹配非空字符串中的任何字符。
“?”             ?                匹配单个字符。
“abc *”      abc *              以abc开始。
“* abc”      * abc              以abc结束。
“*abc *”    *abc *             包含abc。
“abc??”   abc??          以abc开始,接着是两个附加字符。
“[az] *”      [az] *              以范围a到z中的字母开头。
“[^ 0-9] *”   [^ 0-9] *   不得以数字开头。
“\\ *”                \ *                 包含单个星号(*通配符被转义)
“*abc \\\\def*” * abc \\ def *  包含abc后跟反斜杠,后跟def(反斜杠被转义)

样例:

MAIN

IF "55f-plot" MATCHES "55[a-z]-*" THEN
DISPLAY "Item reference format is correct."
END IF
END MAIN

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Karen110 Karen110
3年前
一篇文章带你了解JavaScript日期
日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Peter20 Peter20
3年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Easter79 Easter79
3年前
SpringBoot自定义序列化的使用方式
场景及需求:项目接入了SpringBoot开发,现在需求是服务端接口返回的字段如果为空,那么自动转为空字符串。例如:\    {        "id":1,        "name":null    },    {        "id":2,        "name":"x
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
JavaScript常用函数
1\.字符串长度截取functioncutstr(str,len){vartemp,icount0,patrn/^\x00\xff/,strre"";for(vari
Stella981 Stella981
3年前
SpringBoot自定义序列化的使用方式
场景及需求:项目接入了SpringBoot开发,现在需求是服务端接口返回的字段如果为空,那么自动转为空字符串。例如:\    {        "id":1,        "name":null    },    {        "id":2,        "name":"x