regexp_instr() 是一个系统函数,用于返回字符串中指定 POSIX 正则表达式出现位置的索引。
regexp_instr() 在 PostgreSQL 15 中添加。
用法
regexp_instr (stringtext,patterntext[,startinteger[,Ninteger[,endoptioninteger[,flagstext[,subexprinteger] ] ] ] ] ) →integer
命名参数从 PostgreSQL 18 开始可用。
可与 regexp_instr() 一起使用的标志列表可在 PostgreSQL 文档中找到:ARE 嵌入式选项字母。
变更历史
- PostgreSQL 18
- 添加了对参数名称的支持(提交 580f8727)
- PostgreSQL 15
- 已添加(提交 64243370)
示例
regexp_instr() 的基本用法示例,这里确定第一个出现的 "ooo" 的起始位置
postgres=# SELECT regexp_instr('foobarboo flooobilooo', 'o{3,}');
regexp_instr
--------------
13
(1 row)
确定从字符串的第 14 个字符开始,第一个出现的 "ooo" 的起始位置
postgres=# SELECT regexp_instr('foobarboo flooobilooo', 'o{3,}', 14);
regexp_instr
--------------
19
(1 row)
参考资料
- PostgreSQL 文档: 其他字符串函数
- PostgreSQL 文档: POSIX 正则表达式
