|
|||||||||||||||||||||||||||
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
|
||||||||||||||
|
||||||||||||||