Hmm, \pL er ny for mig. Men lyder som en god generel l=F8sning.
Karakters=E6ttet for \w =E6ndres med valget af 'use locale'.
En lille quote fra
http://www.perl.com/doc/manual/html/pod/perllocale.html
f=F8lger
nedenfor.
/uniejo
Category LC_CTYPE: Character Types
In the scope of use locale, Perl obeys the LC_CTYPE locale setting.
This controls the application's notion of which characters are
alphabetic. This affects Perl's \w regular expression metanotation,
which stands for alphanumeric characters--that is, alphabetic and
numeric characters. (Consult the perlre manpage for more information
about regular expressions.) Thanks to LC_CTYPE, depending on your
locale setting, characters like '=E6', '=F0', '=DF', and '=F8' may be
understood as \w characters.
On 3/23/07, Thomas Ammitzb=F8ll-Bach <thomasj@[EMAIL PROTECTED]
> wrote:
> Jeg er ret sikker p=E5, at \w er [0-9A-Za-z_] alts=E5 uden de danske
> bogstaver. Men jeg vil anbefale dig at bruge \pL i stedet for, da den
> matcher alle former for bogstaver i Unicode.
>
>
> Henning Michael M=F8ller Just skrev:
> > 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
v=
irker. Det er Perl 5.8, ikke sandt? Er det kun danske tegn der skal
accepte=
res?
> >
> > /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
matche=
r
> > 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
> >
> >
> >
>
>


|