freeman: RegEx um String zu Suchen der nicht zwischen < > liegt

Beitrag lesen

Hi,

ich bräuchte ein RegEx um einen String zu Suchen der nicht Zwischen eckigen Klammern (<,>) liegt.
Es geht um eine Suchfunktion in einer Website welche gefundene Texte in bestimmten Elementen farblich markiert.

Beispiel:
Gesucht wird nach dem String: "Test"

<span class="test">Dies ist ein test</span>
Soll ersetzt werden durch:
<span class="test">Dies ist ein <span class="gefunden">test</span></span>

Der ClassName "test" darf dabei nicht gefunden werden. Oder wenn z.B. der gesuchte String in der URL eines <a> Tags vorkommt.

Entfernen der Tags ist leider schwierig, da dann ja die Formatierung verloren gehen würde.

Ein einzelnes Pattern wäre am besten, leider waren meine Versuche bis jetzt ohne wirklichen Erfolg.
Ansonsten müsste man denke ich den String "zerschneiden" und mit Positionen Arbeiten, da sonst der Replace nicht mehr ordentlich funktioniert.

Oder gibt es sonst eine schöne Alternative?

Danke!
Grüße,
Philip