How to match Cyrillic characters with a regular expression

How do I match French and Russian Cyrillic alphabet characters with a regular expression? I only want to do the alpha characters, no numbers or special characters. Right now I have

[A-Za-z]

3

11 Answers

If your regex flavor supports Unicode blocks ([\p{IsCyrillic}]), you can match Cyrillic characters with:

[\p{IsCyrillic}] or [\p{Cyrillic}] 

Otherwise try using:

[U+0400–U+04FF] 

For PHP use:

[\x{0400}-\x{04FF}] 

Explanation:

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

Note:

Unicode Characters list and Numeric HTML Entities of [U+0400–U+04FF] .

5

It depends on your regex flavor. If it supports Unicode character classes (like .NET, for instance), \p{L} matches a letter character (in any character set).

4

To match only Russian Cyrillic characters use:

[\u0401\u0451\u0410-\u044f] 

which is the equivalent of:

[ЁёА-я] 

where А is Cyrillic, not Latin. (Despite looking the same they have different codes)

\p{IsCyrillic}, \p{Cyrillic}, [\u0400-\u04FF] which others suggested will match all variants of Cyrillic, not only Russian

If you use modern PHP version - just:

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

Don't forget the u flag for unicode support!

2

Regex to match cyrillic alphabets with normal(english) alphabets :

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

It matches special chars,cyrillic alphabets,english alphabets.

1

Various regex dialects use [:alpha:] for any alphanumeric character in the current locale. (You may need to put that in a character class, e.g. [[:alpha:]].)

1

this worked for me

[a-z\u0400-\u04FF] 
1

If you use Elixir:

String.match?(string, ~r/^\p{Cyrillic}*$/u) 

You need to add the u flag for unicode support.

1

You can use the first and the last letter. For example in Bulgarian:

[А-я]+ 

For modern PHP (source):

$string = 'тест тест Тест Обязателльно Stackoverflow >!<'; var_dump(preg_replace('/[\x{0410}-\x{042F}]+.*[\x{0410}-\x{042F}]+/iu', '', $string)); 

In Java to match Cyrillic letters and space use the following pattern

^[\p{InCyrillic}\s]+$ 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like