我需要拆分消息:
500 Oracle Parkway.Redwood Shores.*.=13
现在我对 Substr1/2/4 有了一些可行的解决方案
SELECT '500 Oracle Parkway.Redwood Shores.*.=13' string1,
REGEXP_SUBSTR('500 Oracle Parkway.Redwood Shores.*.=13','.[^.]+')
"SUBSTR1" ,
replace(REGEXP_SUBSTR('500 Oracle Parkway.Redwood Shores.*.=13','[$.]+
[^.]+'),'.',null) "SUBSTR2" ,
REGEXP_SUBSTR('500 Oracle Parkway.Redwood Shores.*.=13','[$.]+.[$.]+[^.]')
"SUBSTR3" ,
REGEXP_SUBSTR('500 Oracle Parkway.Redwood Shores.*.=13','[^=]+$')
"SUBSTR4"
FROM DUAL;
但是 Substr3 包含'='。我希望至少有 '.*.' 或者 ' * '
你能否给我一个提示如何在正则表达式中“排除”任何字符(例如'=')?
任何帮助深表感谢!
谢谢
已解决见 SUBSTR3.1
SELECT
'500 Oracle Parkway.Redwood Shores.*.=13' string1,
REGEXP_SUBSTR('500 Oracle Parkway.Redwood Shores.*.=13','.[^.]+')
"SUBSTR1" ,
replace(REGEXP_SUBSTR('500 Oracle Parkway.Redwood Shores.*.=13','[$.]+
[^.]+'),'.',null) "SUBSTR2" ,
REGEXP_SUBSTR('500 Oracle Parkway.Redwood Shores.*.=13','[$.]+.[$.]+
[^.]') "SUBSTR3" ,
REGEXP_SUBSTR('500 Oracle Parkway.Redwood Shores.*.=13','[^.]+',1,3)
"SUBSTR3.1" ,
REGEXP_SUBSTR('500 Oracle Parkway.Redwood Shores.*.=13','[^=]+$')
"SUBSTR4"
FROM DUAL;