Beat: Regular Expression

Beitrag lesen

Ich habe es jetzt so:

(?:\S+.swf\b)|(?:\S+.SWF\b)

Wenn allerdings im swf Namen ein Leerzeichen vorhanden ist klappt es nicht mehr fehlerfrei. Außerdem ist diese Lösung nicht sehr elegant.

Dann handelt es sich nicht mehr um eine URI sondern allenfalls um eine IRI.
Die Lösung ist insofern unellegant, als sie viel zu viel ausliest.

/<param \b [^<>]*? \b src \s* = \s* (["']) ([^<>]*?) \1 /xi

Switch /x für die Lesbarkeit
Switch /i für Case independence

\b ist eine word boundery Die Grenze zwischen \w und \W.
[] ist eine Zeichenklasse
[^] ist eine negierte Zeichenklasse

\1 referiert auf $1
und matcht " wenn in $1 " oder matcht ' wenn in S1 '

Deine URI oder IRI befindet sich nun in $2.

mfg Beat

--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische