Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zu regex

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage zu regex

    Hallo, eine kurze Frage zu einer regex:

    Folgender Ausdruck soll Teile einer URL ausgeben:
    "/^(http:\/\/)?([^\/]+)/i"

    Wenn bei ^ der Folgestring obligatorisch ist was bedeutet dann das nachgestellte ?, das im den String ja fakultativ macht?

    Das zweite Wort wird duch einen abschließenden Slash (oder mehrere) begrenzt.
    Wie wird hier erreicht, das alles nach dem Slash abgeschnitten wird.
    Vielen Dank!

  • #2
    Wenn bei ^ der Folgestring obligatorisch ist
    Ist er nicht.
    was bedeutet dann das nachgestellte ?
    -> PHP Manual

    Kommentar


    • #3
      Ja, ich habe zuerst gedacht, dass ? von ^ abhängig ist, ist ja aber nicht. Falls der Ausdruck mit "http://" vorhanden ist (also ?) (was er auch nicht sein könnte), muss er mit "http://" beginnen (also ^).
      (was letzendlich doch eine gewisse Kausalität mitsichbringt)

      Das zweite Wort ist jedoch immernoch unklar. Das Zirkumfelx innerhalb der eckigen Klammer bedeutet, dass die Zeichenfolge innerhalb der Klammer nicht vorkommen darf. Das würde in dem Beispiel jedoch bedeuten, dass ein "/" oder mehrere "/" nicht vokommen dürfen, tatsächlich wird aber alles mit und nach dem "/" abgeschnitten.

      Kommentar


      • #4
        muss er mit "http://" beginnen (also ^).
        Nein, das ist Blödsinn. Ein Ausdruck matcht immer das , was er matcht. ^ erzwingt, dass Matches nur direkt am Anfang des Suchstrings gültig sind.
        Das Zirkumfelx innerhalb der eckigen Klammer bedeutet, dass die Zeichenfolge innerhalb der Klammer nicht vorkommen darf.
        Nein, das bedeutet, dass alle Zeichen einer Klasse, die Slashes ausschließt gematcht werden
        Das würde in dem Beispiel jedoch bedeuten, dass ein "/" oder mehrere "/" nicht vokommen dürfen, tatsächlich wird aber alles mit und nach dem "/" abgeschnitten.
        gematcht werden. Abgeschnitten wird da gar nix.

        reg. Ausdrücke arbeiten immer nach dem Matching-Prinzip. Du beschreibst etwas und der Ausdruck „holt“ alles, was darauf passt.

        Kommentar

        Lädt...
        X