Gå til innhold

Matche domene med expr


Anbefalte innlegg

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 av petterg
Lenke til kommentar
Videoannonse
Annonse

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

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...