GBase 8c
其他
文章

GBase 8c模式匹配操作符-POSIX

发表于2023-12-08 09:10:5912次浏览0个评论

描述:正则表达式是一个字符序列,它是定义一个串集合(一个正则集)的缩写。如果一个串属于正则表达式描述的正则集时,则称该串匹配该正则表达式。POSIX正则表达式提供了比LIKE和SIMILAR TO操作符更强大的含义。表1列出了所有可用于POSIX正则表达式模式匹配的操作符。

1 正则表达式匹配操作符

操作符

描述

例子

~

匹配正则表达式,大小写敏感

'thomas' ~ '.*thomas.*'

~*

匹配正则表达式,大小写不敏感

'thomas' ~* '.*Thomas.*'

!~

不匹配正则表达式,大小写敏感

'thomas' !~ '.*Thomas.*'

!~*

不匹配正则表达式,大小写不敏感

'thomas' !~* '.*vadim.*'

匹配规则:

  1. 与LIKE不同,正则表达式允许匹配串里的任何位置,除非该正则表达式显式地挂接在串的开头或者结尾。

  2. 除了上文提到的元字符外,POSIX正则表达式还支持下列模式匹配元字符,如表5-5所示。

表 5-5 元字符及其含义

元字符

含义

^

表示串开头的匹配

$

表示串末尾的匹配

.

匹配任意单个字符

正则表达式函数:

POSIX正则表达式支持下面函数。

  1.  

    1. substring(string from pa...函数提供了抽取一个匹配POSIX正则表达式模式的子串的方法。

    2. regexp_count(string tex...函数提供了获取匹配POSIX正则表达式模式的子串数量的功能。

    3. regexp_instr(string tex...函数提供了获取匹配POSIX正则表达式模式子串位置的功能。

    4. regexp_substr(string te...函数提供了抽取一个匹配POSIX正则表达式模式的子串的方法。

    5. regexp_replace(string, p...函数提供了将匹配POSIX正则表达式模式的子串替换为新文本的功能。

    6. regexp_matches(string te...函数返回一个文本数组,该数组由匹配一个POSIX正则表达式模式得到的所有被捕获子串构成。

    7. regexp_split_to_table(st...函数把一个POSIX正则表达式模式当作一个定界符来分离一个串。

    8. regexp_split_to_array(st...和regexp_split_to_table类似,是一个正则表达式分离函数,不过它的结果以一个text数组的形式返回

评论

登录后才可以发表评论