Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Entfernen Sie einfache HTML-Tags aus String in Oracle über RegExp, Erklärung erforderlich

Weil Regex standardmäßig gierig ist. D.h. die Ausdrücke .* oder .+ Versuchen Sie, so viele Zeichen wie möglich zu nehmen. Also <.+> erstreckt sich vom ersten < bis zum letzten > . Machen Sie es faul, indem Sie den faulen Operator ? verwenden :

regexp_replace(teststring, '<.+?>')

oder

regexp_replace(teststring, '<.*?>')

Jetzt die Suche nach > stoppt beim ersten > angetroffen.

Beachten Sie, dass . enthält > auch, also die Greedy-Variante (ohne ? ) schluckt den gesamten > aber das letzte.