REGEXP_REPLACE - entfernen new line - \n-aus der Zeichenfolge NUR, wenn Sie umschlossen ist ()'s

Ich versuche, REGEXP_REPLACE ersetzen alle neuen Zeile (\n) aus einem string mit einer Ausnahme - Sie MÜSSEN in Klammern eingeschlossen werden, ersetzt werden.

Beispiel:

Vor String:

'a\n, b\n, c (a\n, b, c\n), d\n, e'
var1 := 'a
b
c (a
b, c
), d
e'

Nach string:

'a\n, b\n, c, (a b c), d\n, e'
var2 := 'a
b
c (a, b, c), d
e'

Ich weiß, es muss eine saubere Muster eines regulären Ausdrucks, der kann dies tun - aber ich kann nicht meinen Kopf um ihn herum.

vielen Dank...

es ist einfach für Perl Sprache, aber für oracle.. Hm.. weiß nicht, welche Art von regulären Ausdrücken unterstützt. [\(](?:(.+)\n?)+[\)] ersetzen mit $1 - das ist Spiel (.+)
gefunden: * REGEXP_REPLACE(column_name, '(()|^).*?((|$))|,', '\1') * von: entfernen Kommas * Aber ich kann nicht machen \n Arbeit.

InformationsquelleAutor TA Nguyen | 2013-03-01

Schreibe einen Kommentar