Ich versuche, eine Lösung zu finden, aber irgendwie ich bin immer falsch ausgegeben (im Folgenden einige Online-Lösungen und verwirrend mich :() bitte raten, wo ich falsch werdeOracle: Regex für mehrere Ersetzungen auf einem Muster ersetzen
..var := 'test_1_file1.extn1 test_1_file2.extn2'
select regexp_replace(var,'(test_1*.).*$','\2') from dual;
Erwartete Ausgabe: alles entfernt werden sollten, bevor .operator
extn1 extn2
\ 2 bedeutet das Untermuster im zweiten Satz von Klammern im Suchmuster. Es gibt nur einen Satz Klammern in Ihrem Suchmuster, also gibt es keine Möglichkeit, dass dies funktioniert. Dann sagst du alles vorher. Muss gehen, aber in Ihrem Beispiel suchen Sie nach einem bestimmten Text. Welches ist richtig? Es kann nicht beides sein. Beachten Sie auch, dass der Punkt in regulären Ausdrücken ein Metazeichen ist. Wenn Sie nach einem Punkt suchen, müssen Sie diesen Punkt umgehen. – mathguy
Oh vielen Dank für den Tipp. Ich bin neu und ich wusste, dass ich es falsch machen muss. Wie ich in der erwarteten Ausgabe sage, das ist korrekt und was ich erwarte und ein ich versuchte, kann definitiv falsch sein, wie Sie sagen –