Регулярные выражения С-шарп

Статус: Offline
Реєстрація: 10.04.2011
Повідом.: 869
Регулярные выражения С-шарп

Код:
string str = "";
Console.WriteLine("Cинтаксический анализатор для понятия \"условный_оператор\"");
string pattern = @"^if\([abc]+[0-9]*\s?[><]\s?[abc]+[0-9]*\)\s?[abc]+[0-9]*(\+\+|\-\-);\s?(else\s[abc]+[0-9]*(\+\+|\-\-);)?$";
Regex reg = new Regex(pattern);
for (; str != "Exit"; )
{
str = Console.ReadLine();
if (reg.IsMatch(str))
Console.WriteLine("Введенная строка соответствует шаблону");
else Console.WriteLine("Введенная строка НЕ соответствует шаблону");
}

Какой здесь будет формат ввода?
Начал изучать регулярные выражения. Кто может рассказать про написанное здесь выражение?
 
ты бы с более простого начинал, такое сходу не осилить
 
^ начало строки
if строковая константа
\( экранированный символ скобки, считай текст
[abc]+ 1 или больше букв из перечисления abc
[0-9]* 0 или больше цифр
\s? 0 или 1 непечатаемый символ (пробел например)
[><] символ < или >
\s? 0 или 1 непечатаемый символ (пробел например)
[abc]+ 1 или больше букв из перечисления abc
[0-9]* 0 или больше цифр
\) экранированный символ скобки, считай текст
\s? 0 или 1 непечатаемый символ (пробел например)
[abc]+ 1 или больше букв из перечисления abc
[0-9]* 0 или больше цифр
(\+\+|\-\-) два + или два -
; строковая константа
\s? 0 или 1 непечатаемый символ (пробел например)

дальше составной кусок
(начало выражения
else строковая константа
\s один непечатаемый символ
[abc]+ 1 или больше букв из перечисления abc
[0-9]* 0 или больше цифр
(\+\+|\-\-) два + или два -
; строковая константа
)конец выражения
?выражение 0 или 1 раз
$ конец строки
 
Назад
Зверху Знизу