Sipatshi: regular expression

Hallo Gemeinde,

ich habe eine regular expression:

/******************************************/

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. Probleme macht mir der IE7 und IE8. Das Regex-Muster passt nicht! Ist das vielleicht ein Bug? Gibt es eine andere Lösung für IE7,8 ?

Gruß

Sipatshi

  1. 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

    1. Hallo,

      den String den ich auslese hat einfache Anführungszeichen! Kann es leider nicht ändern! Sobald ich es manuell(für Testzwecke) auf einfache umändere, wird nichts mehr gematched! Desweiteren greift dein Lösungvorschlag nicht beim IE7,8 ! Keine Problem bei Firefox > 3, Chrome, Safari, IE9. Also muss das Problem wo anders liegen. Bzgl. Backslashes -> da war ich wohl noch mit den gedanken bei PHP ;) Ich arbeite selten mit Javascript!

      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/
      [/code]

      Freundliche Grüße

      Vinzenz

      Gruß

      Sipatshi

      1. Hi,

        bitte zitiere das, worauf du dich konkret beziehst, und nicht einfach alles!

        den String den ich auslese hat einfache Anführungszeichen!

        Wo liest du den denn aus?
        Wenn das sowas wie innerHTML ist, dann solltest du erst mal den Inhalt kontrollieren - dann ist nämlich vielleicht gar nicht dein Suchmuster falsch, sondern das, worauf du es anwenden willst.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. Hallo Chris,

          den String den ich auslese hat einfache Anführungszeichen!

          Wo liest du den denn aus?
          Wenn das sowas wie innerHTML ist, dann solltest du erst mal den Inhalt kontrollieren - dann ist nämlich vielleicht gar nicht dein Suchmuster falsch, sondern das, worauf du es anwenden willst.

          ich erinnere mich daran, das näher untersucht zu haben: </archiv/2006/4/t128412/#m830409> und folgende.

          und der Weg - wie Gunnar nahegelegt hat - sehr wahrscheinlich auch. Der OP könnte z.B. auf die http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#a@title=href-Eigenschaft eines a-Elementes mit dem http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#universaleigenschaften@title=className "lb_title" zugreifen.

          Freundliche Grüße

          Vinzenz

  2. @@Sipatshi:

    nuqneH

    ich habe eine regular expression:

    Und zwei Probleme.

    Was willst du eigentlich erreichen? Vermutlich ist ein regulärer Ausdruck nicht Mittel der Wahl.

    Und bist du nicht schon zu lange hier, um der Gebetsmühle entgangen zu sein?

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)