Protože regulární výraz je ve výchozím nastavení chamtivý. Tj. výrazy .*
nebo .+
pokusit se vzít co nejvíce postav. Proto <.+>
bude trvat od prvního <
na poslední >
. Udělejte to líné pomocí líného operátoru ?
:
regexp_replace(teststring, '<.+?>')
nebo
regexp_replace(teststring, '<.*?>')
Nyní vyhledejte >
se zastaví na prvním >
došlo.
Všimněte si, že .
zahrnuje >
také tedy chamtivá varianta (bez ?
) spolkne všechny >
ale poslední.