Comment associer des caractères cyrilliques à une expression régulière

Comment puis-je apparier les caractères de l'alphabet cyrillique français et russe avec une expression régulière? Je veux seulement faire les caractères alpha, pas de nombres ou de caractères spéciaux. Droit maintenant, j'ai

[A-Za-z]

34
demandé sur tchrist 2009-11-11 20:01:44

7 réponses

cela dépend de votre saveur regex. Si elle supporte les classes de caractères Unicode (comme .NET, par exemple),\p{L} correspond à un caractère de lettre (dans n'importe quel jeu de caractères).

23
répondu Tim Pietzcker 2009-11-11 19:57:12

si votre arôme regex supporte blocs Unicode, vous pouvez faire correspondre russe (Cyrillique) caractères:

[\p{IsCyrillic}]

Sinon, essaie:

[U+0400–U+04FF]

Explication:

[\p{IsCyrillic}]

Options: Case insensitive; Exact spacing; Dot doesn’t match line breaks; ^$ don’t match at line breaks; Numbered capture

Match a character from the Unicode block “Cyrillic” (U+0400–U+04FF) «[\p{IsCyrillic}]»

Remarque:

liste de caractères Unicode et entités HTML numériques de [U+0400–U+04FF] .

31
répondu Pedro Lobito 2018-04-21 14:37:00

Si vous utiliser des techniques modernes de la version de PHP - juste:

preg_match("/^[\p{L}]+$/u");

N'oubliez pas les u drapeau pour support unicode!

8
répondu Олег Всильдеревьев 2014-07-29 13:31:50

Regex pour faire correspondre les alphabets cyrilliques avec les alphabets normaux (anglais):

^[A-Za-z.!@?#"$%&:;() *\+,\/;\-=[\\]\^_{|}<>\u0400-\u04FF]*$

il correspond à des caractères spéciaux, des alphabets cyrilliques, des alphabets anglais.

4
répondu Dipti Ghumbre 2017-01-30 09:54:36

divers dialectes regex utiliser [:alpha:] pour tout caractère alphanumérique dans la zone courante. (Vous pouvez avoir besoin de mettre cela dans une classe de caractères, par exemple [[:alpha:]].)

2
répondu 2009-11-11 17:22:04

cela a fonctionné pour moi

[a-z\u0400-\u04FF]
1
répondu lili.b 2018-05-25 08:03:27

pour correspondre À seulement Cyrillique russe caractères, utilisez:

[\u0401\u0451\u0410-\u044f]

qui est l'équivalent de:

[ЁёА-я]