"Morten Winther" <mw@get2net.dk> wrote in message
news:3bf0399f$0$230$edfadb0f@dspool01.news.tele.dk...
> <?
> $streng ='TestNavn åæø-35';
> if (preg_match("/[-a-z.0-9\s]+/i", $streng)) {
Hvis et eller flere af tegnene blev fundet vil den der matche.
...
> Jeg vil tillade mellem 3 og 5 tegn og har forsøgt med {3,5} altså:
>
> if (preg_match("/[-a-z.0-9\s]{3,5}+/i", $streng)) {
>
> Så får jeg dog denne fejl: Compilation failed: nothing to repeat at offset
> 17
Yes, det er fordi du har sat + efter {3,5} - de er jo begge to til at matche
på antal matchede tegn, den fejlbesked du ville have fået fra perl ser sådan
her ud:
Nested quantifiers before HERE mark in regex m/[-a-z.0-9\s]{3,5}+ << HERE
Så fjern plus, så skulle det gerne virke for dig.
> Jeg forstår heller ikke hvorfor den egentlig matcher åæø, når jeg kun har
> skrevet a-z?
Fordi du bare spurgte om et eller flere af de ranges af tegn i []
matchede..og det gjorde de :)
--
Mvh. Nezar Nielsen
http://fez.dk/