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;
有点改动: 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 '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 '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 '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;谢谢,但是有个问题啊,要替换的数字前面的内容没了, 您能不能顺便给我讲解讲解 什么叫做"要替换的数字前面的内容没了"座12#:座子凳子... 替换完之后应该是: 座17#:座子凳子...,但是现在的结果是: 17#:座子凳子... ,第一个座字没了
select replace(c1,'12#','17#') from t;
select regexp_replace(c1,'(^|[^[:digit:]])12([^[:digit:]])','\117\2') 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;谢谢,但是有个问题啊,要替换的数字前面的内容没了, 您能不能顺便给我讲解讲解 什么叫做"要替换的数字前面的内容没了"座12#:座子凳子... 替换完之后应该是: 座17#:座子凳子...,但是现在的结果是: 17#:座子凳子... ,第一个座字没了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;
有点改动: 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;谢谢,但是有个问题啊,要替换的数字前面的内容没了, 您能不能顺便给我讲解讲解 什么叫做"要替换的数字前面的内容没了"座12#:座子凳子... 替换完之后应该是: 座17#:座子凳子...,但是现在的结果是: 17#:座子凳子... ,第一个座字没了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;版主,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;谢谢,但是有个问题啊,要替换的数字前面的内容没了, 您能不能顺便给我讲解讲解 什么叫做"要替换的数字前面的内容没了"座12#:座子凳子... 替换完之后应该是: 座17#:座子凳子...,但是现在的结果是: 17#:座子凳子... ,第一个座字没了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;版主,regexp_replace(c1,'(^|[^[:digit:]])12([^[:digit:]]|$)','\117\2') 能给解释一下第三项的 "\1" "\2”是什么意思? 反向引用表达式(^|[^[:digit:]])和([^[:digit:]]|$)
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;
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 '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 '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 '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;谢谢,但是有个问题啊,要替换的数字前面的内容没了,
您能不能顺便给我讲解讲解
什么叫做"要替换的数字前面的内容没了"座12#:座子凳子... 替换完之后应该是: 座17#:座子凳子...,但是现在的结果是: 17#:座子凳子... ,第一个座字没了
select replace(c1,'12#','17#') from t;
select regexp_replace(c1,'(^|[^[:digit:]])12([^[:digit:]])','\117\2') 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;谢谢,但是有个问题啊,要替换的数字前面的内容没了,
您能不能顺便给我讲解讲解
什么叫做"要替换的数字前面的内容没了"座12#:座子凳子... 替换完之后应该是: 座17#:座子凳子...,但是现在的结果是: 17#:座子凳子... ,第一个座字没了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;
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;谢谢,但是有个问题啊,要替换的数字前面的内容没了,
您能不能顺便给我讲解讲解
什么叫做"要替换的数字前面的内容没了"座12#:座子凳子... 替换完之后应该是: 座17#:座子凳子...,但是现在的结果是: 17#:座子凳子... ,第一个座字没了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;版主,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;谢谢,但是有个问题啊,要替换的数字前面的内容没了,
您能不能顺便给我讲解讲解
什么叫做"要替换的数字前面的内容没了"座12#:座子凳子... 替换完之后应该是: 座17#:座子凳子...,但是现在的结果是: 17#:座子凳子... ,第一个座字没了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;版主,regexp_replace(c1,'(^|[^[:digit:]])12([^[:digit:]]|$)','\117\2') 能给解释一下第三项的 "\1" "\2”是什么意思?
反向引用表达式(^|[^[:digit:]])和([^[:digit:]]|$)