Hvis du laver det i JAVA vil jeg nok anvende en lidt anden fremgangsmåde end en "ren" regexp. Da de tilladte værdier for 2 og 3 ciffer jo er afhængige af det 1 ciffer kan det godt blive lidt langhåret i regexp. Hvis du tager det tegn for tegn og checker det med et par if sætning bliver det med stor sandsynlighed også hurtigere end en regexp.
Kan du bruge et simpelt script, der blot undersøger om der er tale om 4 tekststrenge adskilt af punktum, og hver streng består af fra 1 til 3 cifre, således at tallet er mindre end 255? Sådan et kan jeg godt lave. Jeg har bare ikke tid lige nu. eller skal det være noget med reg. exp.?
Det kan godt lade sig gøre, men det er bare ikke pænt... "ikke egnet" er et godt udtryk. Det er noget manuelt stads i stil med: (^[0-9]{1,2}$)|(^[0-1][0-9]{1,2}$)|(^2[0-4][0-9]$)|(^25[0-5]$) bare for at teste om en string er 0-255. - ikke-testet :)
Regulære udtryk er "egnede" til at genkende strukturer dannet af tegn. De egner sig ikke til at "tælle", eller til "semantik".
De kan derfor godt genkende et antal cifre, strukturen, men bør ikke misbruges til at finde ud af hvad tallene betyder. Det kan man så gøre efterfølgende med almindelig kode.
Arne, din isValidIp2: Hvad gør den med "676767676767676767676767676767676767.1.1.1" ?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.