Umiddelbart ser problemet ud til at v=E6re at \w ikke matcher =E6=F8=E5 =
karaktererne.
\w+\z matcher fordi strengen ****ter med 'g'
\A\w+ matcher fordi strengen starter med 'k'
Jeg skal lige pr=F8ve at se hvad jeg kan finde af eksempler, hvor det =
virker. Det er Perl 5.8, ikke sandt? Er det kun danske tegn der skal =
accepteres?
/Henning
-----Original Message-----
From: Jonas B. Nielsen [mailto:jonasbn@[EMAIL PROTECTED]
Friday, March 23, 2007 9:48 AM
To: Cph.pm Cph.pm
Subject: Et lille regex problem og Data::FormValidator
Hola,
Jeg sidder og bokser lidt med et meget simpelt regular expression. =20
Jeg har en UTF8 string, i form af eksemplet 'k=F8dp=E5l=E6g'. Jeg =
fors=F8ger =20
at sikre mig at det indtastede ord, som vil v=E6re UTF8 og kan =20
indeholde danske bogstaver er en string.
S=E5 jeg vil gerne benytte f=F8lgende regex: /\A\w+\z/ men dette matcher =
=20
ikke, men hvis jeg fjerner enten \A eller \z s=E5 virker det??? se alle =
scenarier nedenfor
S=E5dan ser det ud for: k=F8dp=E5l=E6g:
\A\w+\z, matcher ikke
\A\w+, matcher
\w+\z, matcher
^\w+$, matcher ikke
^\w+, matcher
\w+$, matcher
Og nu bliver det sjovt, for s=E5dan ser det ud for stringen: hest:
\A\w+\z, matcher
\A\w+, matcher
\w+\z, matcher
^\w+$, matcher
^\w+, matcher
\w+$, matcher
Er der nogen der kan se noget som jeg har misset?
jonasbn


|