Därför att du inte säger att strängen måste börja och sluta med uttrycket. Jag skulle råda dig till att använda t.ex. ^(\d\d:){4}\d\d$ i stället (jag vet inte om det är fem eller sex sifferserier du vill ha fram - din kod säger fem, dina exempel sex - men min släpper igenom fem). ^ betyder "början av strängen", $ betyder "slutet av strängen".
ereg + reguljärt uttryck vad?????
4 svar · 228 visningar · startad av fredriksk
ber om ursäkt för missen med antalet sifferpar... Det skall vara 6st vilket jag har ändrat i koden ovan nu..
Jag kan avsluta att det är macadress-struktur jag vill kontrollera varpå det skall till lite bokstäver också. (A-F för att vara nogrann).
Jag är inte riktigt med på ditt uttryck heller... kan du förtydliga?
Jag vill att den skall ha EXAKT det utseendet. Alltså "siffrasiffra:siffrasiffra:...."
OK, då är det ^([A-Fa-f\d]{2}:){5}[A-Fa-f\d]{2}$ vilket betyder:
[A-Fa-f\d]{2} → A-F (små eller stora bokstäver) eller siffra (vilket är innebörden av \d) upprepat två gånger
([A-Fa-f\d]{2}:){5} → ovanstående uttryck, följt av ett kolon, upprepat fem gånger
([A-Fa-f\d]{2}:){5}[A-Fa-f\d]{2} → ovanstående uttryck, följt av ytterligare två förekomster av A-F eller siffror, vilket ger sex stycken sifferserier separerade av kolon
^([A-Fa-f\d]{2}:){5}[A-Fa-f\d]{2}$ → en sträng som börjar med ovanstående uttryck, och slutar där det slutar.
