SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] Tjek for strengformat



Ole Tange <sslug@sslug> writes:

> On Tue, 6 Aug 2002, Jesper Dalberg wrote:
> 
> > > Jeg skal lave et simpelt tjek der skal se om min streng
> > > indeholder præcist 6 tegn hvor 3 af dem er tal og de 3 andre
> > > bogstaver. Synes det lyder som oplagt reg exp ting, men jeg
> > > kan ikke lige gennemskue hvordan :)
> >
> > Den korte, mm. Jeg har overset et eller andet ;)
> >
> > /^[\da-zA-ZæøåÆØÅ]{6}$/ && /(.*\d){3}/
> 
> Nix: 123456 matches. Hvad med:
> 
> # hvis de 3 er tal, så skal resten være non-tal
> /^[\da-zæøåÆØÅ]{6}$/i && /^(\D*\d){3}\D*$/

Hmmmm....jeg synes ikke de løsninger er de mest oplagte, her er mit forslag:

/^(\w\d|\d\w){3}$/

eller

/^(\w{3}\d{3}|\d{3}\w{3})$/

jeg er ikke helt sikker på hvad der menes, om "1ab2c3" er accepteret,
eller om det skal være "321abc" eller "lmn654" agtigt......

\w kan selvfølgelig skiftes ud med [a-zøæå], hvilket man nok skal for
at arbejde uden om den sørgelige forfatning "collating", mht. locale, i
perl regex's er i   *suk*

-- 
Christian Hemmingsen


 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:54
Denne side vedligeholdes af MHonArc .