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/
Ergebnis 1 bis 3 von 3
- 29.11.2011, 19:21 #1
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:
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&noblockCode:(http://www\.example\.lan/)+(index\.cfm\?contentid=)+([0-9]{1,2})+?(&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!
- 29.11.2011, 21:52 #2* 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)
- 29.11.2011, 23:14 #3
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!


Zitieren