Avatar billede keet Nybegynder
14. juli 2004 - 18:40 Der er 13 kommentarer og
1 løsning

preg_match max 3 tegn med 3 bestemte bogstaver

jeg har brug for at RE der validerer rigtigt når bogstaverne DMY optræder i en streng og ingen andre tegn må være i strengen.
Rækkefølgen af DMY skal være ligegyldig.

Hvordan laves det med preg_match?
Avatar billede erikjacobsen Ekspert
14. juli 2004 - 18:45 #1
Er det disse, og præcis kun disse, strenge der er lovlige?
'DMY', 'DYM', MYD', 'MDY', 'YDM', 'YMD'
Avatar billede keet Nybegynder
14. juli 2004 - 18:52 #2
ja, hvis det er alle kombinationer med D M Y
Avatar billede erikjacobsen Ekspert
14. juli 2004 - 18:53 #3
if (preg_match('/^DMY|DYM|MYD|MDY|YDM|YMD$/',$dinstreng)) { ... }
Avatar billede keet Nybegynder
14. juli 2004 - 19:02 #4
Hvad er det ^ og $ betyder i RE'en?

Jeg havde selv lavet nogenlunde samme RE, men jeg troede der var en nemmere metode.
Avatar billede erikjacobsen Ekspert
14. juli 2004 - 19:04 #5
^ betyder at den skal matche fra starten og $ at den skal fortsætte til slutningen af
strengen. Uden de 2 sjove tegn betyder det bare at DMY osv må stå et vilkårligt sted
i strengen.
Avatar billede keet Nybegynder
14. juli 2004 - 19:05 #6
hmm.. den fejler ikke på "DMYS" - burde den ikke det?
Avatar billede erikjacobsen Ekspert
14. juli 2004 - 19:08 #7
Jah, nemlig:

  /^(DMY|DYM|MYD|MDY|YDM|YMD)$/
Avatar billede keet Nybegynder
14. juli 2004 - 19:14 #8
Jeg har følgende kode:
If ( ! preg_match("/^DMY|DYM|MYD|MDY|YDM|YMD$/", $date_order) ) {
..fejl..
}

Hvis jeg giver den "DMYS" burde den give en fejl, men det gør den ikke.
Avatar billede erikjacobsen Ekspert
14. juli 2004 - 19:26 #9
Det er derfor jeg har rettet den.
Avatar billede keet Nybegynder
14. juli 2004 - 19:28 #10
ahh, havde ikke lige set det. Hvorfor gør ( og ) en forskel her?
Avatar billede erikjacobsen Ekspert
14. juli 2004 - 19:32 #11
Det er noget med prioriteter på operatorer. 1-(2-3) plejer heller ikke at være
det samme som 1-2-3
Avatar billede keet Nybegynder
14. juli 2004 - 19:34 #12
ok, du kan bare lige smide et svar.. takker
Avatar billede erikjacobsen Ekspert
14. juli 2004 - 19:45 #13
Nej tak, jeg samler slet ikke på point.
Avatar billede keet Nybegynder
14. juli 2004 - 19:57 #14
okay :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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