PostgreSQL regexp_replace() 函数使用指南

PostgreSQL regexp_replace() 函数在一个给定字符串中用给定的内容替换给定的正则表达式的第一个匹配的子串;如果使用了 g 标识,则替换所有的匹配结果。

regexp_replace() 函数使用 POSIX 正则表达式。

regexp_replace() 语法

这里是 PostgreSQL regexp_replace() 函数的语法:

regexp_replace(string, regex, replacement[, flags])  text

参数

string
必需的。 一个字符串。
regex
必需的。 正则表达式。
replacement
必需的。 替换为的字符串。
flags
可选的。 正则表达式的匹配模式。

返回值

PostgreSQL regexp_replace() 函数返回替换后的字符串。如果字符串中没有包含和正则匹配的内容,则此函数返回原字符串。

regexp_replace() 示例

这个示例演示了如何使用 regexp_replace() 函数在字符串中执行替换:

SELECT regexp_replace('Abcd abCd aBcd', 'ab.', 'xx');
 regexp_replace
----------------
 Abcd xxd aBcd

您可以在参数 flags 中使用 i 标识在使用正则表达式匹配的时候忽略大小写。比如:

SELECT regexp_replace('Abcd abCd aBcd', 'ab.', 'xx', 'i');
 regexp_replace
----------------
 xxd abCd aBcd

您可以在参数 flags 中使用 g 标识以替换正则表达式所有的匹配。比如:

SELECT regexp_replace('Abcd abCd aBcd', 'ab.', 'xx', 'ig');
 regexp_replace
----------------
 xxd xxd xxd