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                                                 |
+-----------------------------------------------------------+

