regexp_matches()

返回正则表达式匹配结果的函数

regexp_matches() 是一个系统函数,返回与 POSIX 正则表达式匹配的子字符串。

regexp_matches()PostgreSQL 8.3 中添加。

用法

regexp_matches ( string text, pattern text [, flags text ] ) → setof text[]

通常建议至少提供一个标志,通常是 'g',否则 regexp_matches() 的行为与 regexp_match() 完全相同(从 PostgreSQL 10 开始可用)。除了 'g' 之外的标志列表可在 PostgreSQL 文档中找到:ARE 嵌入选项字母

更改历史记录

示例

regexp_matches() 的基本用法示例

postgres=# SELECT regexp_matches('foobarboo', '.oo', 'g');
 regexp_matches 
----------------
 {foo}
 {boo}
(2 rows)

检索多个匹配项

postgres=# SELECT regexp_matches('foobarboo floobiloo', '(.oo).+?(.oo)', 'g');
 regexp_matches 
----------------
 {foo,boo}
 {loo,loo}
(2 rows)

请注意,在没有 'g' 标志的情况下使用 regexp_matches() 等效于 regexp_match()

postgres=# SELECT regexp_match('foobarboo', '.oo'), regexp_matches('foobarboo', '.oo');
 regexp_match | regexp_matches 
--------------+----------------
 {foo}        | {foo}
(1 row)

分类

字符串操作系统函数

另请参阅

regexp_match()

反馈

提交任何关于 "regexp_matches()" 的评论、建议或更正 此处