17,086
社区成员
发帖
与我相关
我的任务
分享
with t as
(select 'sas12#sdf:' c1
from dual
union all
select '12sas13df:' c1
from dual
union all
select 'sas1#2sdf:12' c1
from dual
union all
select 'sas1#asd2312sdf:' c1
from dual)
select regexp_replace(c1, '(^|[^[:digit:]])12([^[:digit:]]|$)', '17') from t;
[/quote]
谢谢,但是有个问题啊,要替换的数字前面的内容没了,
您能不能顺便给我讲解讲解[/quote]
什么叫做"要替换的数字前面的内容没了"[/quote]
座12#:座子凳子... 替换完之后应该是: 座17#:座子凳子...,但是现在的结果是: 17#:座子凳子... ,第一个座字没了[/quote]
with t as
(select 'ss12#sdf:' c1
from dual
union all
select '12sas13df:' c1
from dual
union all
select 'sas1#2sdf:12' c1
from dual
union all
select 'sas1#asd2312sdf:' c1
from dual)
select regexp_replace(c1,'(^|[^[:digit:]])12([^[:digit:]]|$)','\117\2') from t;
select regexp_replace(c1,'(^|[^[:digit:]])12([^[:digit:]])','\117\2') from t;
select replace(c1,'12#','17#') from t;
with t as
(select 'sas12#sdf:' c1
from dual
union all
select '12sas13df:' c1
from dual
union all
select 'sas1#2sdf:12' c1
from dual
union all
select 'sas1#asd2312sdf:' c1
from dual)
select regexp_replace(c1, '(^|[^[:digit:]])12([^[:digit:]]|$)', '17') from t;
[/quote]
谢谢,但是有个问题啊,要替换的数字前面的内容没了,
您能不能顺便给我讲解讲解[/quote]
什么叫做"要替换的数字前面的内容没了"[/quote]
座12#:座子凳子... 替换完之后应该是: 座17#:座子凳子...,但是现在的结果是: 17#:座子凳子... ,第一个座字没了with t as
(select 'sas12#sdf:' c1
from dual
union all
select '12sas13df:' c1
from dual
union all
select 'sas1#2sdf:12' c1
from dual
union all
select 'sas1#asd2312sdf:' c1
from dual)
select regexp_replace(c1, '(^|[^[:digit:]])12([^[:digit:]]|$)', '17') from t;
[/quote]
谢谢,但是有个问题啊,要替换的数字前面的内容没了,
您能不能顺便给我讲解讲解[/quote]
什么叫做"要替换的数字前面的内容没了"with t as
(select 'sas12#sdf:' c1
from dual
union all
select '12sas13df:' c1
from dual
union all
select 'sas1#2sdf:12' c1
from dual
union all
select 'sas1#asd2312sdf:' c1
from dual)
select regexp_replace(c1, '(^|[^[:digit:]])12([^[:digit:]]|$)', '17') from t;
[/quote]
谢谢,但是有个问题啊,要替换的数字前面的内容没了,
您能不能顺便给我讲解讲解with t as
(select 'sas12#sdf:' c1
from dual
union all
select '12sas13df:' c1
from dual
union all
select 'sas1#2sdf:12' c1
from dual
union all
select 'sas1#asd2312sdf:' c1
from dual)
select regexp_replace(c1, '(^|[^[:digit:]])12([^[:digit:]]|$)', '17') from t;
[/quote]
谢谢,但是有个问题啊,要替换的数字前面的内容没了,
您能不能顺便给我讲解讲解[/quote]
什么叫做"要替换的数字前面的内容没了"[/quote]
座12#:座子凳子... 替换完之后应该是: 座17#:座子凳子...,但是现在的结果是: 17#:座子凳子... ,第一个座字没了[/quote]
with t as
(select 'ss12#sdf:' c1
from dual
union all
select '12sas13df:' c1
from dual
union all
select 'sas1#2sdf:12' c1
from dual
union all
select 'sas1#asd2312sdf:' c1
from dual)
select regexp_replace(c1,'(^|[^[:digit:]])12([^[:digit:]]|$)','\117\2') from t;
[/quote]
版主,regexp_replace(c1,'(^|[^[:digit:]])12([^[:digit:]]|$)','\117\2') 能给解释一下第三项的 "\1" "\2”是什么意思?[/quote]
反向引用表达式(^|[^[:digit:]])和([^[:digit:]]|$)with t as
(select 'sas12#sdf:' c1
from dual
union all
select '12sas13df:' c1
from dual
union all
select 'sas1#2sdf:12' c1
from dual
union all
select 'sas1#asd2312sdf:' c1
from dual)
select regexp_replace(c1, '(^|[^[:digit:]])12([^[:digit:]]|$)', '17') from t;
[/quote]
谢谢,但是有个问题啊,要替换的数字前面的内容没了,
您能不能顺便给我讲解讲解[/quote]
什么叫做"要替换的数字前面的内容没了"[/quote]
座12#:座子凳子... 替换完之后应该是: 座17#:座子凳子...,但是现在的结果是: 17#:座子凳子... ,第一个座字没了[/quote]
with t as
(select 'ss12#sdf:' c1
from dual
union all
select '12sas13df:' c1
from dual
union all
select 'sas1#2sdf:12' c1
from dual
union all
select 'sas1#asd2312sdf:' c1
from dual)
select regexp_replace(c1,'(^|[^[:digit:]])12([^[:digit:]]|$)','\117\2') from t;
[/quote]
版主,regexp_replace(c1,'(^|[^[:digit:]])12([^[:digit:]]|$)','\117\2') 能给解释一下第三项的 "\1" "\2”是什么意思?with t as
(select 'sas12#sdf:' c1
from dual
union all
select '12sas13df:' c1
from dual
union all
select 'sas1#2sdf:12' c1
from dual
union all
select 'sas1#asd2312sdf:' c1
from dual)
select regexp_replace(c1, '(^|[^[:digit:]])12([^[:digit:]]|$)', '17') from t;
with t as
(select 'sas12#sdf:' c1
from dual
union all
select 'sas13df:' c1
from dual
union all
select 'sas1#2sdf:' c1
from dual
union all
select 'sas1#asd2312sdf:' c1
from dual)
select regexp_replace(c1, '[^[:digit:]]12[^[:digit:]]', '17') from t;