Felix Riesterer: Wie body mit regulären Ausdrcken auslesen?

Beitrag lesen

Lieber Cheatah,

Du hast die Bedeutung des Fragezeichens und des "+"- und vermutlich auch "*"-Operators noch nicht voll verstanden. Zudem bin ich nicht sicher, ob Du Dir der Bedeutung von Klammern wirklich bewusst ist.

Na, dann helfen wir dem OP doch auf die Sprünge!

/(body)/ findet das Vorkommen von "body" und merkt es sich in RegExp.$1. Da im öffnenden BODY-Tag Parameter enthalten sein _können_ (aber eben nicht müssen) ist der "+"-Operator hier nicht optimal, da er mindestens ein Vorkommen vorraussetzt, das hier aber nicht gegeben sein muss.

/(<body[^>]*>)/i findet alles was mit "<body" anfängt, mit ">" aufhört, und was dazwischen beliebig viele (auch keine) Zeichen enthalten kann, die aber allesamt kein ">" sein dürfen. Die Unterscheidung zwischen Groß- und Kleinschreibung ist durch den Schalter "i" deaktiviert. Javascript merkt sich den kompletten Ausdruck in RegExp.$1.

Der OP möchte doch nur den Code innerhalb des BODYs, also braucht er:

var hatGeklappt = mystring.match(/<body[^>]*>(.*)<\/body>/i);  
alert(RegExp.$1);

Habe das zwar jetzt nicht ausprobiert, denke aber, dass es funzt(R).

Liebe Grüße aus Ellwangen,

Felix Riesterer.