原文在这:戳
REGEXP_REPLACE
6个参数
第一个是输入的字符串
第二个是正则表达式
第三个是替换的字符
第四个是标识从第几个字符开始正则表达式匹配。(默认为1)
第五个是标识第几个匹配组。(默认为全部都替换掉)
第六个是是取值范围:
i:大小写不敏感;
c:大小写敏感;
n:点号.不匹配换行符号;
m:多行模式;
x:扩展模式,忽略正则表达式中的空白字符。
全部测试数据
SQL> select * from test_reg_substr;
A
-----------------------------------
ABC123XYZ
ABC123XYZ456
Edward
替换数字
SQL> SELECT
2REGEXP_REPLACE (a,'[0-9]+','QQQ')AS A
3FROM
4test_reg_substr;
A
-----------------------------------------------
ABCQQQXYZ
ABCQQQXYZQQQ
Edward
替换数字(从第一个字母开始匹配,替换第1个匹配项目)
SQL> SELECT
2REGEXP_REPLACE (a,'[0-9]+','QQQ', 1, 1)AS A
3FROM
4test_reg_substr;
A
------------------------------------------------------
ABCQQQXYZ
ABCQQQXYZ456
Edward
替换数字(从第一个字母开始匹配,替换第2个匹配项目)
SQL> SELECT
2REGEXP_REPLACE (a,'[0-9]+','Q', 1, 2)AS A
3FROM
4test_reg_substr;
A
---------------------------------------------------
ABC123XYZ
ABC123XYZQ
Edward
替换第二个单词
SQL> SELECT
2REGEXP_REPLACE (a,'\w+','Kimi', 1, 2)AS A
3FROM
4test_reg_substr;
A
---------------------------------------------------
ABC123XYZ
ABC123XYZ456
Kimi
如果觉得《Oracle 正则表达式函数-REGEXP_REPLACE 使用例子》对你有帮助,请点赞、收藏,并留下你的观点哦!