Ergebnis 1 bis 3 von 3
  1. #1
    Wilstedter Apfel
    Themenstarter
    Avatar von Slashwalker
    Registriert
    05.2006
    Beiträge
    1.934

    Regex optionaler Match

    Hallo ATler,
    ich muss in einem ganzen Haufen Dateien Links umschreiben. Dreamweaver kann ja zum Glück Regex. Daher habe ich mich an einer Expression versucht:
    Code:
    (http://www\.example\.lan/)+(index\.cfm\?contentid=)+([0-9]{1,2})+?(&noblock)
    Problem nur, &noblock soll optional sein. Es sollen also alle Links gefunden werden, http://www.example.lan/index.cfm?contentid=123 und http://www.example.lan/index.cfm?contentid=456&noblock

    Obige Regex findet aber nur die mit &noblock am Ende. Dachte das ? sagt das der rest optional ist?
    VAYA CON TIOZ
    Helden leben lange -Legenden sterben nie!
    La Ultima Cerveza!


  2. #2
    Altländer Pfannkuchenapfel Avatar von gKar
    Registriert
    06.2008
    Ort
    Wetter (Ruhr)
    Beiträge
    4.460
    Multiplikatoren (+, * oder ?) stehen immer *hinter* dem Ausdruck, der ggf. in Klammern zu setzen ist:

    "a+b?" matcht z.B. eine Folge von mindestens einem a gefolgt von beliebig vielen weiteren as und maximal einem b.

    "Hallo( Welt)?" oder auch "Hallo(?: Welt)?" matcht "Hallo" und "Hallo Welt". Der Unterschied ist, dass "( Welt)" eine Capturing Group ist, während "(?: Welt)" eine Non-Capturing Group ist.

    Zwei Empfehlungen von meiner Seite:
    Tutorial und Referenz: http://www.regular-expressions.info/
    Testen von RegExes: http://gskinner.com/RegExr/
    * Wer nichts weiß, muss alles glauben.
    * Geduld mit der Streitsucht der Einfältigen! Es ist nicht leicht zu begreifen, dass man nicht begreift.
    Marie von Ebner-Eschenbach

    Mac-Tastaturlayout für Windows (z.B. in Bootcamp oder VM)

  3. #3
    Wilstedter Apfel
    Themenstarter
    Avatar von Slashwalker
    Registriert
    05.2006
    Beiträge
    1.934
    Na dann werd ich mich mal bei Gelegenheit einlesen. Für's erste reicht mir:
    Code:
    (http://www\.example\.lan/)+(index\.cfm\?contentid=)+([0-9]{1,2})+(&noblock)?
    VAYA CON TIOZ
    Helden leben lange -Legenden sterben nie!
    La Ultima Cerveza!


Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •