Hurra! s=E5 er l=F8sningen fundet,
use POSIX qw(setlocale LC_CTYPE);
setlocale(LC_CTYPE, 'da_DK') or die "Invalid locale (da_DK)\n";
I mit test tilf=E6lde hvor k=F8dp=E5l=E6gget er pakket sammen med koden =
og =20
sourcen er UTF8, s=E5 skal f=F8lgende statement medtages:
use utf8;
jonasbn
On 23/03/2007, at 9.51, Henning Michael M=F8ller Just wrote:
> Umiddelbart ser problemet ud til at v=E6re at \w ikke matcher =E6=F8=E5
=
=20
> 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
=20=
> virker. Det er Perl 5.8, ikke sandt? Er det kun danske tegn der =20
> skal accepteres?
>
> /Henning
>
>
> -----Original Message-----
> From: Jonas B. Nielsen [mailto:jonasbn@[EMAIL PROTECTED]
> Sent: 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.
> Jeg har en UTF8 string, i form af eksemplet 'k=F8dp=E5l=E6g'. Jeg =
fors=F8ger
> at sikre mig at det indtastede ord, som vil v=E6re UTF8 og kan
> indeholde danske bogstaver er en string.
>
> S=E5 jeg vil gerne benytte f=F8lgende regex: /\A\w+\z/ men dette =
matcher
> 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
>
>


|