Avatar billede beef12 Nybegynder
29. maj 2006 - 11:25 Der er 7 kommentarer og
1 løsning

Måned år specifikation i reg ex

Hvis jeg gerne vil specificere følgende format:

måned - dag (mm-dd)

F.eks. 01-30, er dette så korrekt:

[0-9][0-2][-0-3][1-9]
Avatar billede nielle Nybegynder
29. maj 2006 - 12:43 #1
Dit mønster vil f.eks. tillade måneden 00, og udelukke dagen 20, så svaret må vel være nej. Det går også galt ved "[-0-3]", men det kan vist rettes ved at ændre til: "-[0-3]".

Men prøv med dette i stedet:

(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01])
Avatar billede nielle Nybegynder
29. maj 2006 - 12:45 #2
... og så er der vel at mærke ikke taget højde for at måneder kan indeholder 28, 29, 30 eller 31 dage, og at der er særlige forhold omkring skydår.
Avatar billede beef12 Nybegynder
29. maj 2006 - 15:21 #3
Efter bindestregen, skriver du [12][0-9]. En dag kan vel aldrig være 129 :-)
Eller har jeg misforstået noget?
Avatar billede nielle Nybegynder
29. maj 2006 - 15:30 #4
Delmønsteret:

    [12][0-9]

læses om et 1- eller et 2-tal efterfulgt af enten 0, 1, 2, ... eller 9 - altså som dato-intervallet 10-29.

Det indgår i dette større delmønster:

    (0?[1-9]|[12][0-9]|3[01])

hvor (1):

    0?[1-9]

dækker over datoerne 01-09 (med eller uden det foranstillede 0 - det er det ?-tegnet gør), og (2):

    3[01]

som dækker over datoerne 30 eller 31.

De lodrette streger som står imellem de tre deludtryk læses som "eller", og derfor bliver:

    (0?[1-9]|[12][0-9]|3[01])

til:

    01-09 eller 10-29 eller 30-31
Avatar billede nielle Nybegynder
29. maj 2006 - 15:34 #5
For lige at gøre det helt klart... [12] betyder 1 *eller* 2, ikke 12. Når du har et []-par, så er der et underforstået "eller" imellem alle de tegn som står inde i parentesen.
Avatar billede beef12 Nybegynder
29. maj 2006 - 15:50 #6
Nå ja, selvfølgelig. Tak for det. Smid et svar.
Avatar billede beef12 Nybegynder
29. maj 2006 - 15:56 #7
g hvis du har tid, så har jeg oprettet et relateret spørgsmål: http://www.eksperten.dk/spm/712509
Avatar billede nielle Nybegynder
29. maj 2006 - 16:05 #8
Svar.

Ang. det andet spørgsmål, så kan jeg se at arne_v allerede har hjulpet der :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester