有一项要求。当','存在时,regexp_replace必须复制子字符串no.of。
(,xyz,,12,).*
必须替换为(,xyz,,12,).*(,xyz,,12,).*
Input : (.*(,ELF,,NLF,).*)@(.*(,ABC,,CDF,,SDE,).*)
Output : (.*(,ELF,,NLF,).*(,ELF,,NLF,).*)@(.*(,ABC,,CDF,,SDE,).*(,ABC,,CDF,,SDE,).*(,ABC,,CDF,,SDE,).*)
请帮忙。可以使用regexp_replace来完成吗?
答案 0 :(得分:0)
是的,它可以。试试这个:
select regexp_replace('(.*(,ELF,,NLF,).*)@(.*(,ABC,,CDF,,SDE,).*)'
,'(\.\*[A-Z,\(\)]+)\.\*\)@\((\.\*[A-Z,\(\)]+)\.\*\)'
,'\1\1.*)@(\2\2\2.*)')
from dual;
这完全是您发布的示例。