peterS.: Reguläre Ausdrücke: nicht gierige suchmuster ohne ?-Quantifier

Beitrag lesen

gruss schildi, hallo Jörg,

.. da benutz ich grad auch den "mach-mich-ungierig"-operator, also das ?.
und da ist es durchaus sinnvoll, bzw. notwendig den zu verwenden.
oder hast du da nen anderen vorschlag?

@schildi
   das hat ja auch niemand in abrede gestellt. Jörg fragt ja nach alternativen
   fuer nicht gierige suchmuster, die ohne den dafuer vorgesehene "?" quantifier
   auskommen, da man im javascript-bereich immer noch auf RegExp engines stoesst,
   die ebendiesen nicht unterstuetzen.

dein zuletzt gegebenes bsp. aufgreifend koennte
   eine solche loesung folgendermassen aussehen:

~~~javascript var str = '<a href="link01.html">link01.html</a>\n' +   // matched;
             '<a href="about:blank"><about:blank</a>\n' +  // not matched;
             '<a href="link02.html">link02.html</a>\n' +   // matched;
             '<a href="about:blank">about:blank</a>';      // matched;
   var regX = /<a[^>]>[^<]</a>/gi;
   var arr = str.match(regX);
   alert(arr.length + "\n\n" + arr.join("\n"));

  
  
   der ausdruck  
   `/<a[^>]*>[^<]*<\/a>/gi`{:.language-javascript} liest sich dann so:  
   /  
    <a                           suche die zeichenfolge "<a"  
      [^>]\*            dann alle zeichen, die nicht ">" sind  
           >                 bis zum ersten vorkommenden ">"  
            [^<]\*       dem nur nicht-"<"-zeichen nachfolgen  
                 <\/a>  bis die sequenz "</a>" gefunden wird  
   /gi       der ausdruck gilt dann fuer den gesamten string  
            [g(lobal)-flag], wobei die gross/kleinschreibung  
                  ignoriert werden darf [i(gnore case)]-flag  
  
  
   der ausdruck kann aber leider nur dann anwendung finden,  
   wenn sicher ist, dass keine "<"-zeichen innerhalb der  
   anker-/link-elemente stehen (siehe obiges bsp.).  
  
  
  
   by(t)e by(t)e - peterS. - pseliger@gmx.net  
  
  

-- 
"Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.  
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive." - Douglas Crockford  
  
ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]