Tobias Kloth: preg_match_all findet 0 nicht

Beitrag lesen

Hallo Robert, Hallo Axel,

preg_match_all("|(([0-9]{1,3}).{1}([0-9]{1,3}).{1}([0-9]{1,3}).{1}([0-9]{1,3}):([0-9]{1,4}))|U",$line,$regs)

lass mal das 'U' weg, dann funktioniert es (mit dem U wird der ganze Ausdruck "ungierig" und holt sich so wenig Zeichen wie möglich).

Zwar habe ich in der oku von preg_match_all auch die | am Anfang und Ende der Pattern gefunden, aber keine Erklärung dafür.

du kannst als Begrenzungszeichen jedes beliebige Zeichen (außer alphanumerischen und dem Backslash) verwenden - also auch ein | (ob das natürlich Sinnvoll ist, sei dahingestellt :-))

preg_match_all("/(([0-9]{1,3}).{1}([0-9]{1,3}).{1}([0-9]{1,3}).{1}([0-9]{1,3}):([0-9]{1,4}))/",$line,$regs);
Dann sollte sein:

[...]
das kommt auch raus - was aber nicht an den Begrenzungszeichen sondern an dem U lag.

Grüße aus Nürnberg
Tobias

--
Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|