Hallo,
ich habe folgenden regulären Ausdruck:
In der Variable st ist der Suchbegriff. Ich habe eine HTML-Seite, und der Suchebegriff st soll nicht innerhalb von HTML-Tags ersetzt werden, das soll durch "(?![^<>]*>)" erreicht werden.
Wenn ich nun bspw. "in" als Suchbegriff (st) habe, werden die ersten beiden Buchstaben des Wortes "Interessant" mit dem span-Tag umschlossen. Habe ich jedoch "int" als Suchbegriff, passiert nichts. Wenn ich wiederum "Int" (mit großen i) eingebe, werden die ersten drei Buchstaben von "Interessant" mit span-Tag umschlossen.
Meine Frage: Wieso nicht bei klein geschriebenem i? Und wieso ja, wenn ich "in" als Suchbegriff habe, dann aber nicht mehr, wenn ich "int" habe?
Leider kenn ich mich nicht ganz so gut mit RegEx aus, als dass ich hier den Fehler finde...
Gruß
Daniel
ich habe folgenden regulären Ausdruck:
Code:
dummy = dummy.replaceAll("(?i)"+st+"(?![^<>]*>)", "<span class=\"hs\">$0</span>");
In der Variable st ist der Suchbegriff. Ich habe eine HTML-Seite, und der Suchebegriff st soll nicht innerhalb von HTML-Tags ersetzt werden, das soll durch "(?![^<>]*>)" erreicht werden.
Wenn ich nun bspw. "in" als Suchbegriff (st) habe, werden die ersten beiden Buchstaben des Wortes "Interessant" mit dem span-Tag umschlossen. Habe ich jedoch "int" als Suchbegriff, passiert nichts. Wenn ich wiederum "Int" (mit großen i) eingebe, werden die ersten drei Buchstaben von "Interessant" mit span-Tag umschlossen.
Meine Frage: Wieso nicht bei klein geschriebenem i? Und wieso ja, wenn ich "in" als Suchbegriff habe, dann aber nicht mehr, wenn ich "int" habe?
Leider kenn ich mich nicht ganz so gut mit RegEx aus, als dass ich hier den Fehler finde...
Gruß
Daniel