Perché regex è avido per impostazione predefinita. Cioè. le espressioni .*
o .+
cerca di prendere quanti più caratteri possibile. Pertanto <.+>
si estenderà dal primo <
all'ultimo >
. Rendilo pigro usando l'operatore pigro ?
:
regexp_replace(teststring, '<.+?>')
o
regexp_replace(teststring, '<.*?>')
Ora, la ricerca di >
si fermerà al primo >
incontrato.
Nota che .
include >
pure, quindi la variante greedy (senza ?
) ingoia tutto il >
ma l'ultimo.