REGEXP_REPLACE 使用例子
6个参数
第一个是输入的字符串
第二个是正则表达式
第三个是替换的字符
第四个是标识从第几个字符开始正则表达式匹配。(默认为1)
第五个是标识第几个匹配组。(默认为全部都替换掉)
第六个是是取值范围:
i:大小写不敏感;
c:大小写敏感;
n:点号 . 不匹配换行符号;
m:多行模式;
x:扩展模式,忽略正则表达式中的空白字符。
全部测试数据
SQL> select * from test_reg_substr;
A
-----------------------------------
ABC123XYZ
ABC123XYZ456
Edward
替换数字
SQL> SELECT
2
REGEXP_REPLACE (a,'[0-9] ','QQQ')
AS A
3
FROM
4
test_reg_substr;
A
-----------------------------------------------
ABCQQQXYZ
ABCQQQXYZQQQ
Edward
替换数字(从第一个字母开始匹配,替换第1个匹配项目)
SQL> SELECT
2
REGEXP_REPLACE (a,'[0-9] ','QQQ', 1, 1)
AS A
3
FROM
4
test_reg_substr;
A
------------------------------------------------------
ABCQQQXYZ
ABCQQQXYZ456
Edward
替换数字(从第一个字母开始匹配,替换第2个匹配项目)
SQL> SELECT
2
REGEXP_REPLACE (a,'[0-9] ','Q', 1, 2)
AS A
3
FROM
4
test_reg_substr;
A
---------------------------------------------------
ABC123XYZ
ABC123XYZQ
Edward
替换第二个单词
SQL> SELECT
2
REGEXP_REPLACE (a,'\w ','Kimi', 1, 2)
AS A
3
FROM
4
test_reg_substr;
A
---------------------------------------------------
ABC123XYZ
ABC123XYZ456
Kimi
转自:http://hi.baidu.com/wangzhiqing999/item/d1c69b89b0ba7ac2b0715428
6个参数
第一个是输入的字符串
第二个是正则表达式
第三个是替换的字符
第四个是标识从第几个字符开始正则表达式匹配。(默认为1)
第五个是标识第几个匹配组。(默认为全部都替换掉)
第六个是是取值范围:
i:大小写不敏感;
c:大小写敏感;
n:点号 . 不匹配换行符号;
m:多行模式;
x:扩展模式,忽略正则表达式中的空白字符。
全部测试数据
SQL> select * from test_reg_substr;
A
-----------------------------------
ABC123XYZ
ABC123XYZ456
Edward
替换数字
SQL> SELECT
A
-----------------------------------------------
ABCQQQXYZ
ABCQQQXYZQQQ
Edward
替换数字(从第一个字母开始匹配,替换第1个匹配项目)
SQL> SELECT
A
------------------------------------------------------
ABCQQQXYZ
ABCQQQXYZ456
Edward
替换数字(从第一个字母开始匹配,替换第2个匹配项目)
SQL> SELECT
A
---------------------------------------------------
ABC123XYZ
ABC123XYZQ
Edward
替换第二个单词
SQL> SELECT
A
---------------------------------------------------
ABC123XYZ
ABC123XYZ456
Kimi
转自:http://hi.baidu.com/wangzhiqing999/item/d1c69b89b0ba7ac2b0715428