petterg Skrevet 13. mai 2004 Del Skrevet 13. mai 2004 (endret) Skal lage et enkelt lite bash script som skal hjelpe til å opprette virtuelle domener. I den forbindelse skulle jeg gjerne hatt en sjekk at domene navnet som oppgis av brukeren er et gyldig domene navn. Det skal altså være tegnene "a..z", "0..9", "_" og "-" som er tilatt. Det skal så være et punktum, og etter punktumet skal det være mellom 2 og 4 bokstaver. Slik jeg har forstått dokumentasjonen skulle det da gå ann å skrive: expr ${domenenavn} : '[a-z0-9+-_]*[.][a-z]{2,4}' Det som ikke funker er at [a-z0-9+-_] også matcher "+", "/" og "\" som ikke er meningen. Ved å fjerne + blir det feil. {2,4} funkerer heller ikke. Noen som kan dette? Edit: Også hvis domenet er på formen sub.domene.no skal den matche. Jeg må altså få [.] til å matche det siste ".", slik jeg har skrevet over vil den matche første "." Endret 13. mai 2004 av petterg Lenke til kommentar
sim Skrevet 13. mai 2004 Del Skrevet 13. mai 2004 ^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$ Denne sjekker iallefall om domenet er gyldig eller ei. Jeg har ikke skrevet den selv, desverre. Fant den via en link fra wikipedia. Direkte link. Lenke til kommentar
petterg Skrevet 13. mai 2004 Forfatter Del Skrevet 13. mai 2004 Men problemet er at expr kommandoen i linux ikke tar samme syntax som vanlig reg.expr. Så vidt jeg vet er det den jeg må bruke i bash script? F.x {tall, tall} (som er brukt to ganger i posten over) ikke fungerer som normalt med denne. Heller ikke + betyr "minst en gang" som i reg.expr Og "\" funker ikke som escape! Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå