REGEXP_REPLACE
替换字符串 expr
中与正则表达式 pat
匹配的部分,并用替换字符串 repl
替换,返回结果字符串。如果 expr
、pat
或 repl
为 NULL,则返回值为 NULL。
语法
REGEXP_REPLACE(<expr>, <pat>, <repl[, pos[, occurrence[, match_type]]]>)
参数
参数 | 描述 |
---|---|
expr | 要匹配的字符串表达式 |
pat | 正则表达式 |
repl | 替换字符串 |
pos | 可选。在 expr 中开始搜索的位置。如果省略,默认值为 1。 |
occurrence | 可选。要替换的匹配项的出现次数。如果省略,默认值为 0(表示“替换所有出现次数”)。 |
match_type | 可选。指定如何执行匹配的字符串。含义与 REGEXP_LIKE() 中描述的相同。 |
返回类型
VARCHAR
示例
SELECT REGEXP_REPLACE('a b c', 'b', 'X');
+-----------------------------------+
| REGEXP_REPLACE('a b c', 'b', 'X') |
+-----------------------------------+
| a X c |
+-----------------------------------+
SELECT REGEXP_REPLACE('abc def ghi', '[a-z]+', 'X', 1, 3);
+----------------------------------------------------+
| REGEXP_REPLACE('abc def ghi', '[a-z]+', 'X', 1, 3) |
+----------------------------------------------------+
| abc def X |
+----------------------------------------------------+
SELECT REGEXP_REPLACE('周 周周 周周周', '周+', 'X', 3, 2);
+-----------------------------------------------------------+
| REGEXP_REPLACE('周 周周 周周周', '周+', 'X', 3, 2) |
+-----------------------------------------------------------+
| 周 周周 X |
+-----------------------------------------------------------+