0
SELECT regexp_replace('FRAME  WINDOW MASTER. 160.055-44.9 ADULT Z68.41', '[^A-Z0-9%+/.+ '']', ' ') 
FROM DUAL;

私が得る結果は

FRAME  WINDOW MASTER. 160.055 44.9 ADULT

しかし、私は結果が欲しい

FRAME WINDOW MASTER 160.055 44.9 ADULT (ピリオドなしのマスター)

4

2 に答える 2

0

これでうまくいくでしょうか?

"[^A-Z0-9%+/.+ '']|\.\s"

何が欲しいのか正確にはわかりませんが、必要な出力が得られます。

編集これが修正です:

[^A-Z0-9%+/.+ '']|\.(\s|$)
于 2016-03-24T18:18:47.523 に答える
0

このように、文字の後に一致さ.せてグループを置き換えることができます。

正規表現: (\D)\.と置き換えます\1[space]

正規表現101のデモ


このように、2 つの文字を一致さ.せてグループを置き換えることができます。

正規表現: (\D)\.(\D)と置き換えます\1[space]\2

正規表現101のデモ


look aroundこのようなアサーションを使用することもできます。Oracleでのサポートについては懐疑的です。

正規表現: (?<=\D)\.(?=\D)と置き換えます[space]

正規表現101のデモ

于 2016-03-24T18:20:56.000 に答える