「TICKER: IBM IBM Corporation Inc.」という文字列があります。ティッカーとその値を削除し、Oracle PL/SQL に残っているものだけを取得したいと考えています。
だから私はこのクエリを作成しましたが、意図したとおりに機能していません:
SELECT REGEXP_REPLACE(
'TICKER: IBM IBM Corporation Inc.',
'(.*):[[:space:]](.*)[[:space:]](.*)', '\3')
FROM dual;
「\3」が「IBM Corporation Inc.」になることを期待していました。しかし、私は「株式会社」だけを取得します。結果として。
REGEXP_REPLACE('TICKER:IBMIBMCORPORATIONINC.','(.*):[[:SPACE:]](.*)[[:SPACE:]](.*)','\3')
-----------------------------------------------------------------------------
Inc.
1 rows selected
アップデート:
SELECT REGEXP_REPLACE(
'TICKER: IBM IBM Corporation Inc.',
'(.*):[[:space:]](.*)[[:space:]](.*)', '\1|\2|\3')
FROM dual;
結果:
REGEXP_REPLACE('TICKER:IBMIBMCORPORATIONINC.','(.*):[[:SPACE:]](.*)[[:SPACE:]](.*)','\1|\2|\3')
--------------------------------------------------------------------------------
TICKER|IBM IBM Corporation|Inc.
正規表現で何が欠けていますか?
ありがとう。