Antwort an „Rolf B“ verfassen

Hallo MB,

bei genauerer Betrachtung muss ich sagen, dass ich mit der dritten Regel schlichtweg Glück gehabt habe. Denn das hätte auch schiefgehen können - mein Test hatte zu wenig Kommentarblöcke.

Eine Regex hätte - ohne Gegenmaßnahmen - hier nämlich falsch funktioniert. Stichwort ist hier "greedy" vs "non-greedy".

Der Selektor setzt sich aus vier verbundenen Selektoren zusammen (V1 bis V4), die durch den ~ Kombinator zusammengefügt werden


.------V1-------.   .---------V2----------.   .---V3---.   .---------V4----------.
span.start:active ~ span:is(.comment, .end) ~ span.start ~ span:is(.comment, .end)

Wenn der Teilselektor V2 nämlich so viele .comment und .end Elemente matcht, wie er nur kann (greedy), und dann erst die Suche nach V3 beginnt, dann wäre ich 'reingefallen.

Tut er aber nicht, er macht mit V3 weiter, sobald er kann (non-greedy). Das habe ich jetzt mit einer längeren Liste von Kommentargruppen nachgetestet.

Puh.

Rolf

--
sumpsi - posui - obstruxi
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen