SELECT REGEXP_REPLACE('LSS12345', '[^0-9]') FROM DUAL
结果:12345
'[^0-9]'中的^表示‘非’上述表达式的含义是“将LSS12345中的非数字替换掉”
SELECT REGEXP_REPLACE('LSS12345', '[^0-9]','*') FROM DUAL
结果:***12345,将非数字替换成*
同样,SELECT REGEXP_REPLACE('LSS12345', '[0-9]','*') FROM DUAL
结果:LSS*****
Decode(sign(length(txt_name)-length(REGEXP_REPLACE(txt_name,'[0-9]'))),1,'P'||lpad(REGEXP_REPLACE(txt_name,'[^0-9]'),4,'0'),txt_name)