Gå til innhold

Nybegynnerspørsmål om regex [løst]


Anbefalte innlegg

Videoannonse
Annonse

Jeg får den ikke til å fungere. Det kan hende den er riktig. Jeg har strippet vekk alt annet for å teste den med denne koden:

if (ereg("/^[a-zA-ZæøåÆØÅ0-9 ]+$/u", "abc")) {
echo "Success";
}
else
{
echo "Fail";
}

 

Har du eller noen andre lyst til å forklare hva de forskjellige delene av uttrykket gjør. Jeg lurer spesielt på "/"-en i starten. Så vidt jeg kan forstå betyr "*"-en at uttrykket skal gjentas ingen eller flere ganger. Siden jeg ikke vil åpne for tomme strenger byttet jeg den ut med en "+". Stemmer det?

Lenke til kommentar

Nå er ereg på veg ut da (fjernes i PHP6), så jeg tenkte mer i rettning preg_* ;)

 

Uannsett, / er delimiter, ^ definerer at det skal være fra starten av strengen, $ at det skal gjelde helt til slutten, [] definerer klasse med tegn, * at det skal finnes null, en eller flere av den klassen, og sist men ikke minst sier den u-en (som er en «pattern modifyer») på slutten der at det er snakk om utf8.

 

Hvis du ønsker at det skal være minst et tegn så vil det være helt korrekt å bytte ut * med + ja.

Endret av Ernie
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...