regexp_substr() 是一个系统函数,用于返回与指定 POSIX 正则表达式匹配的子字符串。
regexp_substr() 在 PostgreSQL 15 中添加。
用法
regexp_substr (stringtext,patterntext[,startinteger[,Ninteger[,flagstext[,subexprinteger] ] ] ] )
→text
命名参数从 PostgreSQL 18 开始可用。
可以在 PostgreSQL 文档中找到与 regexp_substr() 一起使用的标志列表:ARE 嵌入式选项字母。
变更历史
- PostgreSQL 18
- 添加了对参数名称的支持(提交 580f8727)
- PostgreSQL 15
- 已添加(提交 64243370)
示例
regexp_substr() 的基本用法示例,匹配指定正则表达式的第一次出现
postgres=# SELECT regexp_substr('foobarboo flooobilooo', '\wlo{1,}');
regexp_substr
---------------
flooo
(1 row)
匹配指定正则表达式的第二次出现
postgres=# SELECT regexp_substr('foobarboo flooobilooo', '\wlo{1,}', 1, 2);
regexp_substr
---------------
ilooo
(1 row)
参考资料
- PostgreSQL 文档: 其他字符串函数
- PostgreSQL 文档: POSIX 正则表达式
