Hehe, das ist ziemlich fies
.
Der Punkt wird in
character classes nicht als Metacharakter erkannt, sondern als das, was er ist: ein Punkt.
Neben Tags mit Leerzeichen müssten also mit deinem letzten Regex auch Tags wie <a>.</a> gefunden werden.
Zitat von
http://www.regular-expressions.info/dot.html#nodotall:
JavaScript and VBScript do not have an option to make the dot match line break characters. In those languages, you can use a character class such as [\s\S] to match any character.
Wahrscheinlich musst du dann noch auf ungreedy umstellen, sonst wird nur ein riesiges Tag gefunden.