Ich habe eine Zeichenfolge 'TICKER: IBM IBM Corporation Inc.' und ich möchte den Ticker und seinen Wert entfernen und nur die restlichen in Oracle PL/SQL greifen.Oracle PL/SQL Regexp_replace für mehrere Wörter
Also habe ich diese Abfrage aber es funktioniert nicht so, wie ich gedacht:
SELECT REGEXP_REPLACE(
'TICKER: IBM IBM Corporation Inc.',
'(.*):[[:space:]](.*)[[:space:]](.*)', '\3')
FROM dual;
Ich hatte gehofft, dass ‚\ 3‘ ergeben würde mir ‚IBM Corporation Inc.‘ aber ich bekomme nur 'Inc.' als Ergebnis.
REGEXP_REPLACE('TICKER:IBMIBMCORPORATIONINC.','(.*):[[:SPACE:]](.*)[[:SPACE:]](.*)','\3')
-----------------------------------------------------------------------------
Inc.
1 rows selected
Update:
SELECT REGEXP_REPLACE(
'TICKER: IBM IBM Corporation Inc.',
'(.*):[[:space:]](.*)[[:space:]](.*)', '\1|\2|\3')
FROM dual;
Ergebnis:
REGEXP_REPLACE('TICKER:IBMIBMCORPORATIONINC.','(.*):[[:SPACE:]](.*)[[:SPACE:]](.*)','\1|\2|\3')
--------------------------------------------------------------------------------
TICKER|IBM IBM Corporation|Inc.
Was soll ich in den regulären Ausdruck fehlt?
Danke.
Frage: Haben Sie schon versucht ""? Siehe auch: https://docs.oracle.com/cd/B19306_01/server.102/b14200/ap_posix001.htm#BABJDBHB – paulsm4