Cómo hacer coincidir los caracteres cirílicos con una expresión regular

¿Cómo puedo unir los caracteres del alfabeto cirílico francés y ruso con una expresión regular? Solo quiero hacer los personajes alfa, sin números ni caracteres especiales. En este momento tengo

[A-Za-z]

Depende de tu sabor regex. Si admite clases de caracteres Unicode (como .NET, por ejemplo), \p{L} coincide con un carácter de letra (en cualquier conjunto de caracteres).

Si su sabor regex admite bloques Unicode , puede hacer coincidir caracteres rusos (cirílicos) con:

 [\p{IsCyrillic}] 

De lo contrario, pruebe:

 [U+0400–U+04FF] 

Explicación:

 [\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}]» 

Nota:

Lista de caracteres Unicode y Entidades HTML numéricas de [U+0400–U+04FF] .

Si usa la versión moderna de PHP, solo:

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

¡No olvide la bandera u para soporte Unicode!

Regex para unir alfabetos cirílicos con alfabetos normales (ingleses):

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

Coincide con caracteres especiales, alfabetos cirílicos, alfabetos ingleses.

Varios dialectos de expresiones regulares usan [:alpha:] para cualquier carácter alfanumérico en la configuración regional actual. (Puede necesitar poner eso en una clase de personaje, por ejemplo [[:alpha:]] .)

esto funcionó para mí

 [az\u0400-\u04FF]