Oracle中的REGEXP_REPLACE函数用于使用正则表达式替换字符串中的子字符串
REGEXP_REPLACE(source_string, pattern, replacement [, position [, occurrence [, match_parameter]]])
参数说明:
示例:
-- 将字符串中的所有数字替换为"#"
SELECT REGEXP_REPLACE('abc123def456', '\d', '#') FROM dual;
-- 结果:abc###def###
-- 将字符串中的第二个出现的数字替换为"#"
SELECT REGEXP_REPLACE('abc123def456', '\d', '#', 1, 2) FROM dual;
-- 结果:abc1#3def456
-- 将字符串中的所有大写字母替换为小写字母
SELECT REGEXP_REPLACE('AbCDeF', '[A-Z]', LOWER('$0')) FROM dual;
-- 结果:abcdef
注意:在replacement参数中使用反向引用时,需要使用单引号将整个表达式括起来,并使用双引号将反向引用括起来。例如:‘\1’。