2009-11-11 14 views

Odpowiedz

23

To zależy od Twojego smaku wyrażeń regularnych. Jeśli obsługuje klasy znaków Unicode (na przykład .NET), \p{L} dopasowuje literę (w dowolnym zestawie znaków).

+0

Co powiesz na to w Javie? –

2

regex różne dialekty używać [:alpha:] dla każdego znaku alfanumerycznego w bieżącej lokalizacji. (Może być konieczne umieszczenie tego w klasie znaków, np. [[:alpha:]].)

28

Jeśli regex obsługuje bloków Unicode można dopasować rosyjskim (cyrylica) znaków z:

[\p{IsCyrillic}] 

przeciwnym razie spróbuj:

[U+0400–U+04FF] 

Objaśnienie:

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

Wątek wyjaśnia, że ​​http://stackoverflow.com/questions/7926514/matching-cyrilic-symbols-in-c-sharp –

7

Jeśli yo u używać nowoczesnej wersji PHP - po prostu:

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

nie zapomnij u flag na wsparcie dla Unicode!

3

Regex dopasować cyrylicy alfabetów z normalnymi (angielski) alfabetów:

^[[email protected]?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>\u0400-\u04FF]*$ 

Pasuje specjalne znaki alfabetów, cyrylica, alfabet angielski.