PHP/regexp - Matcha alla typer av bokstäver (åäöéêü osv)

Trädvy Permalänk
Medlem
Plats
Falun
Registrerad
Okt 2001

PHP/regexp - Matcha alla typer av bokstäver (åäöéêü osv)

Hej

Jag tänkte höra om det finns något enkelt sätt att matcha enbart bokstäver i regexp?
Jag vill även att alla dem konstiga/udda bokstäverna ska matcha.

Just nu har jag

preg_match("/^[a-zåäö0-9\ ]$/ui",$value, $match)

Måste jag stoppa in alla andra tecknen där eller finns det nåt enklare sätt?

Eller ska jag kolla tvärtom?
Alltså på vad som inte är en bokstav?

/Niclas

Har bytt namn från: nulleman ~ Blogg: http://skorpion.se
MacBook Pro: 15.4' ~ 1.83GHz ~ 1512MB RAM ~ 80GB HDD
Medlem i signaturen blodtörstiga Appleanvändare

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jun 2005

Finns ju "word character", vad som ingår där är jag dock inte riktigt säker på, men den betecknas som \w.

Ifall du ser den här bilden så verkar den matcha det du vill (plus kanske lite till):

Trädvy Permalänk
Medlem
Plats
Falun
Registrerad
Dec 2003
Citat:

Ursprungligen inskrivet av skorpion
Hej

Jag tänkte höra om det finns något enkelt sätt att matcha enbart bokstäver i regexp?
Jag vill även att alla dem konstiga/udda bokstäverna ska matcha.

Just nu har jag

preg_match("/^[a-zåäö0-9\ ]$/ui",$value, $match)

Måste jag stoppa in alla andra tecknen där eller finns det nåt enklare sätt?

Eller ska jag kolla tvärtom?
Alltså på vad som inte är en bokstav?

/Niclas

Om det bara är bokstäver så måste du nog göra den själv. Är det bara svenska tecken som den ska hantera?

Här är mitt försök:

/^[a-zA-ZåäöÅÄÖ0-9]+$/

ηλί, ηλί, λαμά σαβαχθανί!?

Trädvy Permalänk
Medlem
Plats
Bromma
Registrerad
Aug 2008
Citat:

Ursprungligen inskrivet av Leedow
Om det bara är bokstäver så måste du nog göra den själv. Är det bara svenska tecken som den ska hantera?

Här är mitt försök:

/^[a-zA-ZåäöÅÄÖ0-9]+$/

Tror nog att "\w" matcahr allt han vill Han kan väl även köra ignorecase? Eller finns inte det i PHPregex? Finns i c# iaf:)

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm
Registrerad
Dec 2002

/i ger case-insensitivity för PCRE-regexps.

EDIT:

Citat:

A "word" character is any letter or digit or the underscore character, that is, any character which can be part of a Perl "word". The definition of letters and digits is controlled by PCRE's character tables, and may vary if locale-specific matching is taking place. For example, in the "fr" (French) locale, some character codes greater than 128 are used for accented letters, and these are matched by \w.

http://se2.php.net/manual/en/regexp.reference.backslash.php

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Trädvy Permalänk
Legendarisk
Hedersmedlem
Plats
::1
Registrerad
Dec 2002

preg_match('/^\p{L}+$/u','AbcdÅäöéêü日本書紀');

http://nl.php.net/manual/en/regexp.reference.unicode.php

Abstractions all the way down.

Trädvy Permalänk
Medlem
Plats
Falun
Registrerad
Okt 2001

\w matchade inte allt
blev att jag tog detta istället

/^[0-9a-zåäöçüûúùéêëèâäàåáïîìíæôöòóÿñ\s]+$/i

fungerar ypperligt

/niclas

Har bytt namn från: nulleman ~ Blogg: http://skorpion.se
MacBook Pro: 15.4' ~ 1.83GHz ~ 1512MB RAM ~ 80GB HDD
Medlem i signaturen blodtörstiga Appleanvändare