PostgreSQL – REGEXP_REPLACE函数
PostgreSQL REGEXP_REPLACE()函数用于用新的子字符串替换与POSIX 正则表达式匹配的子字符串。
Syntax: REGEXP_REPLACE(source, pattern, replacement_string, [, flags])
我们来分析一下上面的语法:
- 源是执行搜索和替换操作的字符串。
- 该模式是用于匹配要替换的子字符串的 POSIX 正则表达式。
- 所述replacement_string是一个字符串,它取代了使用匹配正则表达式模式的子串。
- flags参数被用来控制用于匹配的字符的函数的行为。
- PostgreSQL REGEXP_REPLACE()函数返回用子字符串替换原始字符串后的最终字符串。
示例 1:
例如,假设您有以下格式的人名:
first_name last_name
并且您想按如下方式重新排列名称:
last_name, first_name
为此,您可以使用REGEXP_REPLACE()函数,如下所示:
SELECT REGEXP_REPLACE('Raju Kumar', '(.*) (.*)', '\2, \1');
输出:
示例 2:
假设您有字符串形式的数据。该字符串与字母和数字混合,如下所示:
ABC12345xyz
以下查询从源字符串删除所有字母,例如 A、B、C 等:
SELECT REGEXP_REPLACE('ABC12345xyz', '[[:alpha:]]', '', 'g');
输出: