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]
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).
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]
.
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!
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.