Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > RexEx


Автор: fromrus 24.12.2009, 21:44
паттерн строки:  YYYY/MM/DD или YYYY/MM/DD/числоXчисло
к примеру 
2009/12/01 или 2010/01/01/16х9 или 2010/01/01/3х4 т.е. определенная дата , а за ней опционально строка типа числоXчисло,где Х разделитель

Автор: Heinzz 24.12.2009, 22:18
Код

string input1 = @"2009/12/31";
            string input2 = @"2009/12/01/16x9";

            string pattern = @"^\d{4}/((0[1-9])|1[0-2])?/((0[1-9])|([12][0-9])|(3[01]))?(/\d*x\d*)?$";
            bool match1 = Regex.IsMatch(input1, pattern);
            bool match2 = Regex.IsMatch(input2, pattern);
            Console.WriteLine(match1+"\n"+match2);

Автор: fromrus 24.12.2009, 23:16
Код

string input1 = @"http://imgsrc/2009/12/31";
            string input2 = @"http://ajsf/asfasf/asfasf/324234/2009/12/01/16x9";

            string pattern = @"^\d{4}/((0[1-9])|1[0-2])?/((0[1-9])|([12][0-9])|(3[01]))?(/\d*x\d*)?$";

            bool match1 = Regex.IsMatch(input1, pattern);//False
            bool match2 = Regex.IsMatch(input2, pattern);//False

            Console.WriteLine(match1 + "\n" + match2);


Прошу прощения, но может я неправильно сформулировал вопрос.Нужно найти упомянутые вхождения в произваольные строки.

Автор: Heinzz 24.12.2009, 23:41
пожалуйста
Код

string input = @"asfaf safff ef2009/12/31afaf efafafafaf afaf afa2009/12/01/16x9afsaf";

            string pattern = @"\d{4}/((0[1-9])|1[0-2])?/((0[1-9])|([12][0-9])|(3[01]))?(/\d*x\d*)?";
            foreach (Match m in Regex.Matches(input, pattern))
            {
                Console.WriteLine(m.Value);
            }
            Console.ReadKey();

Автор: fromrus 25.12.2009, 00:07
Спасибо!

Автор: ДобренькийПапаша 25.12.2009, 22:30
Heinzz, а правила написания регулярок такое же как в перле полностью?

Автор: Heinzz 25.12.2009, 22:43
Цитата(ДобренькийПапаша @  25.12.2009,  22:30 Найти цитируемый пост)
Heinzz, а правила написания регулярок такое же как в перле полностью? 

я не знаю, знаю только что из Perla пришли

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)