Vinzenz Mai: regular expression

Beitrag lesen

Hallo,

var title_patt = new RegExp('class="lb_title" href="(.*)">','i');
var string     = '<a class="lb_title" href='http://www.domain.de/>'';

erg    = title_patt.exec(string);

if(erg[1]) {
   alert(erg[1]);
}

Diese funktioniert in allen gängigen Browsern(Firefox, Chrome, Safari), einschliesslich IE9.

das kann ich nicht bestätigen.

Probleme macht mir der IE7 und IE8. Das Regex-Muster passt nicht!

Das wundert mich nicht im geringsten. Das Muster passt doch nicht. Auch nicht in Firefox, Opera oder Safari.

  
    // Warum verwendest Du kein [ref:self812;javascript/objekte/regexp.htm@title=RegExp-Literal]?  
    // Warum die überflüssigen Backslashes, die nur die Lesbarkeit stören?  
    var title_patt = /class="lb_title" href="(.*)>"/i;  
    var string   = '<a class="lb_title" href="http://www.example.org/>"';  
    // Anführungszeichen korrigiert          ^  
    // Anführungszeichen und Reihenfolge korrigiert                  ^^  
  
    erg = title_patt.exec(string);  
    alert(erg[1]);  
    // passt auch in IE8 (IE7 habe ich nicht greifbar),  
    // Ausgabe:  
    //     http://www.example.org/  

Freundliche Grüße

Vinzenz