Avatar billede joki Juniormester
03. oktober 2013 - 10:16 Der er 1 kommentar og
1 løsning

Validering af streng

Hej

Er der en som kan hjælpe med denne
Jeg ønsker at validere om en streng opfylder
Nedenstående

Længde 54
"*" på position 2,7,24,34,38,46,49,52
Karakterer mellem "*" må være alle
.*217M*AK94-00456B.....*M0014....*SYS*.......*N.*A.*1.
Avatar billede mindorf Nybegynder
03. oktober 2013 - 15:35 #1
Her er en mulig løsning:
^.{1}\*.{4}\*.{16}\*.{9}\*.{3}\*.{7}\*.{2}\*.{2}\*.{2}$

Denne regex matcher følgende:
Længde 54
"*" på position 2,7,24,34,38,46,49,52
Karakterer mellem "*" må være alle

Dvs at

Men er du sikker på, at du virkelig mener ALLE karakter. Du skal tænke på, at dine kriterier også matcher: "*" gange 54 (da * er en del af alle karakterer)...

Her er et eksempel i Ruby (irb i Terminal):

Martins-MacBook-Pro-Retina:wsr martinmindorf$ irb

1.9.3-p392 :001 > @rgx = /^.{1}\*.{4}\*.{16}\*.{9}\*.{3}\*.{7}\*.{2}\*.{2}\*.{2}$/
=> /^.{1}\*.{4}\*.{16}\*.{9}\*.{3}\*.{7}\*.{2}\*.{2}\*.{2}$/

1.9.3-p392 :002 > @rgx.match "dette burde ikke virke og skal retunere nil"
=> nil

1.9.3-p392 :003 > @rgx.match ".*217M*AK94-00456B.....*M0014....*SYS*.......*N.*A.*1."
=> #<MatchData ".*217M*AK94-00456B.....*M0014....*SYS*.......*N.*A.*1.">

1.9.3-p392 :004 > @rgx.match ".*217M*AK94-00456B...HEJHEJ_TEST..*M0014....*SYS*.......*N.*A.*1."
=> nil

1.9.3-p392 :005 > @rgx.match "*"*54
=> #<MatchData "******************************************************">

1.9.3-p392 :006 > @rgx.match "*"*55
=> nil
Avatar billede joki Juniormester
19. februar 2016 - 08:06 #2
Lukkes
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



Seneste spørgsmål Seneste aktivitet
I går 23:37 Poe strøm Af lurup i LAN/WAN
I går 14:46 GIF-EDITOR Af snestrup2000 i Billedbehandling
I går 14:03 Logge ind Af Bob i PC
I går 12:12 2 skærme - 1 virker - den anden siger No signal Af eksmojo i Skærme
I går 10:33 openvpn projekt Af dcedata1977 i Windows