regexp_replace()

使用正则表达式替换字符串中值的函数

regexp_replace() 是一个系统函数,用于替换与 POSIX 正则表达式匹配的字符串中的值。

regexp_replace() 添加于 PostgreSQL 8.1

用法

regexp_replace ( string text, pattern text, replacement text [, flags text ] ) → text

PostgreSQL 15 及更高版本

regexp_replace ( string text, pattern text, replacement text [, start integer ] [, flags text ] ) → text
regexp_replace ( string text, pattern text, replacement text, start integer, N integer [, flags text ] ) → text

可在 PostgreSQL 文档中找到可与 regexp_replace() 一起使用的标志列表:ARE 嵌入选项字母

更改历史记录

示例

regexp_replace() 的基本执行示例

postgres=# SELECT regexp_replace('foobar', 'f\w\w', 'moo');
 regexp_replace 
----------------
 moobar
(1 row)

使用“g”(“全局”)标志替换模式的多个出现

postgres=# SELECT regexp_replace('foobarboo flooobiloo', 'o{2,}', 'uu', 'g');
   regexp_replace    
---------------------
 fuubarbuu fluubiluu
(1 row)

PostgreSQL 15 及更高版本中,可以可选地指定起始位置

postgres=# SELECT regexp_replace('foobarboo flooobiloo', 'o{2,}', 'uu', 3);
    regexp_replace    
----------------------
 foobarbuu flooobiloo
(1 row)

要替换从指定起始位置开始的所有出现,请使用

postgres=# SELECT regexp_replace('foobarboo flooobiloo', 'o{2,}', 'uu', 3, 0, 'g');
   regexp_replace    
---------------------
 foobarbuu fluubiluu
(1 row)

分类

字符串操作系统函数

另请参阅

replace()translate()regexp_match()regexp_matches()

反馈

提交任何关于“regexp_replace()”的评论、建议或更正 此处