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’。