2014-11-22 1 views
1

Как использовать регулярное выражение для всех символов utf8? , например, я хочу, чтобы проверить этот формат с помощью регулярных выражений:Как персидский формат символов в regex

[1][الهه اردونی] 

я использовал \ W для проверки персидской характер, но она доцент работала:

^(\[1\])(\[\w+\])$ 

Я также использовал это:

^(\[1\])(\[\u0600-\u06FF\])$ 

так как я могу это сделать? Спасибо за любую помочь

ответ

2

Вы почти там. Вам просто нужно включить диапазон \u0600-\u06FF, шаблон для соответствия пробелам \s внутри класса символов, как показано ниже.

^(\[1\])(\[[\u0600-\u06FF\s]+\])$ 

DEMO

String input = @"[1][الهه اردونی]"; 
Regex rgx = new Regex(@"^(\[1\])(\[[\u0600-\u06FF\s]+\])$"); 
foreach (Match m in rgx.Matches(input)) 
{ 
Console.WriteLine(m.Groups[1].Value); 
Console.WriteLine(m.Groups[2].Value); 
} 

Выход:

[1] 
[الهه اردونی] 

IDEONE

[\u0600-\u06FF\s]+ матч один или несколько символов из данного списка. - действует как оператор диапазона только внутри класса символов.

3

Вы можете использовать что-то вроде этого:

^(\[1\])(\[[ا-ی\s]+\])$ 

 Смежные вопросы

  • Нет связанных вопросов^_^