Ruud: Anzahl gleicher aufeinanderfolgender Zeichen in einem string zäh

Hi,

Ich möchte prüfen, ob mehr als 4 identische, aufeinanderfolgende Zeichen im Strimg vorhanden sind.

if(preg_match("/(.{4})/",$string)) echo "Treffer!";

So hats nicht funktioniert.

Wo liegt denn mein Fehler?

Grüße, Ruud

  1. Ich möchte prüfen, ob mehr als 4 identische, aufeinanderfolgende Zeichen im Strimg vorhanden sind.
    if(preg_match("/(.{4})/",$string)) echo "Treffer!";
    So hats nicht funktioniert.
    Wo liegt denn mein Fehler?

    Du musst schon das Zeichen speichern und dann abfragen, ob es wiederholt auftritt
    /(.)\1\1\1/

    mfg Beat

    --
    Woran ich arbeite:
    X-Torah
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. »» Ich möchte prüfen, ob mehr als 4 identische, aufeinanderfolgende Zeichen im Strimg vorhanden sind.
      »» if(preg_match("/(.{4})/",$string)) echo "Treffer!";
      »» So hats nicht funktioniert.
      »» Wo liegt denn mein Fehler?

      Du musst schon das Zeichen speichern und dann abfragen, ob es wiederholt auftritt
      /(.)\1\1\1/

      mfg Beat

      Hi Beat,

      aber auf SelfHTML steht doch:

      /x{10,}/ passt auf 10 und mehr 'x' in Folge

      Was genau (in Worten) macht Deine Regex?

      Grüße, Ruud

      1. /(.)\1\1\1/
        aber auf SelfHTML steht doch:
        /x{10,}/ passt auf 10 und mehr 'x' in Folge

        du suchst aber nicht nach x sondern nach .
        womit uvwx ein gültiger Match wäre weil alle zeichen der Klasse . zugehören.

        Was genau (in Worten) macht Deine Regex?

        Sie speichert das erste beliebige Zeichen.
        \1 ist eine Referenz auf das in (.) gespeicherte Zeichen
        (Das ist analog zu $1,
        darf aber im Match pattern selbst verwendet werden)

        Mit anderen Worten.
        uvwx wird nicht matchen, weil u gespeichert wird, und \1 auf diesen Speicher zugreift, um das Pattern zu ergänzen.

        mfg Beat

        --
        Woran ich arbeite:
        X-Torah
        ><o(((°>           ><o(((°>
           <°)))o><                     ><o(((°>o
        Der Valigator leibt diese Fische