Ja, es ist wahrscheinlich, dass das .*
zu "gierig" ist und so viele Charaktere wie möglich erfasst. Sie brauchen das Gegenteil - stattdessen das kürzeste Spiel.
Eine Methode wäre stattdessen zu verwenden [^>]*
- dies würde immer noch so viele wie möglich passen, aber nur bis zum ersten >
, also <ITEM_([^>]*)>
nur das öffnende Tag und nichts mehr.
Abhängig von der Regex-Syntax kann dies .*?
auch funktionieren - dies schaltet explizit *
auf "nicht gierig".