Mailinglisten-Archive |
Michael Temeschinko wrote:
> Hallo Liste,
>
> Ich hab mir folgenden regex überlegt (Es kommt aber eine Fehlermeldung)
>
> Warning: Compilation failed: nothing to repeat at offset 0 in
> /home/mictem/unbenannt.php on line 6
>
> <?php
> preg_match("/* (+\d)* x+ (+\d)* (+\D)/i", $dummy, $Gebinde);
> was stimmt hier nicht?
Hallo Michael.
Wenn Du auf eins oder mehrere Leerzeichen überprüfen möchtest, musst Du
" +" und nicht "+ " schreiben. Ein + bzw. * bezieht sich immer auf das
Zeichen _nach_ dem es steht. In deinem Fall überprüfst Du gleich am
Anfang ob _nichts_ keinmal, einmal oder x-mal vorkommt. Deswegen auch
die Fehlermeldung. ;)
preg_match("/\s*(\d+)\s*x\s+(\d+)\s*(\D+)/i", $dummy, $Gebinde);
Ich habe die Leerzeichen durch \s ersetzt, was für jedes "Whitespace"
(also auch Tab etc.) steht. Zusätzlich habe ich die Metazeichen + und *
hinter die Leerzeichen gestellt. Habe es nicht getestet, aber so sollte
zumindest die Fehlermeldung verschwinden.
Gruß,
Alex
php::bar PHP Wiki - Listenarchive