Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 12.03.2014
Сообщений: 12
1

Регулярное выражение для проверки имени файла

29.05.2017, 22:32. Показов 1936. Ответов 9
Метки нет (Все метки)

Доброе время суток!
Помогите пожалуйста написать регулярное выражение, которое будет проверять открываемый файла только с указанным именем.

Имя файла имеет формат «XX_YY_ZZ.xml», где:

- XX – набор русских букв. Количество символов - не более 100;
- YY – набор цифр. Количество символов – либо 1, либо 10, либо от 14 до 20;
- ZZ – любые символы. Количество символов – не более 7.

Только недавно узнал про регулярные выражения, и уже такая задача..
Заранее благодарю за помощь!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2017, 22:32
Ответы с готовыми решениями:

Регулярное выражение для проверки корректности доменного имени
Подскажите регулярное выражение для проверки корректности доменного имени вида xxxxxx.xxx (к...

Регулярное выражение для проверки if
Доброго времени суток. У меня имеется небольшой опыт использования регулярных выражений, посему...

Регулярное выражение для доменного имени
Здравствуйте. У меня есть регулярка ^(?!company\d)(\w+\.domain\.com)*$ Она не матчится, если...

Регулярное выражение для обрезки имени
Доброго времени суток. Не подскажете регулярное выражение для обрезки имени. пример :...

9
8 / 8 / 9
Регистрация: 23.09.2015
Сообщений: 283
29.05.2017, 23:04 2
C#
1
2
3
4
5
6
7
8
9
            var s = Console.ReadLine();
            var pattern = @"[а-яА-Я]{1,100}_[0-9]{0,19}_.{0,7}\.xml";
            Regex rgx = new Regex(pattern);
            if (Regex.IsMatch(s, pattern))
            {
                Console.WriteLine("Correct");
 
            }
            else Console.WriteLine("Incorrect");
1
1074 / 707 / 475
Регистрация: 21.01.2014
Сообщений: 1,865
29.05.2017, 23:12 3
^[А-Яа-яЁё]{1,100}_(\d{1}|\d{10}|\d{14,20})_.{1,7}\.xml$
1
8 / 8 / 9
Регистрация: 23.09.2015
Сообщений: 283
29.05.2017, 23:17 4
Lexeq, у вас,если ввести числа на место YY. Не правильно выдаст)
0
1074 / 707 / 475
Регистрация: 21.01.2014
Сообщений: 1,865
29.05.2017, 23:37 5
Дайте пример. Проверил на пваплварп_22222222222222222222_:%:4:%$.xml - работает.
0
0 / 0 / 0
Регистрация: 12.03.2014
Сообщений: 12
29.05.2017, 23:48  [ТС] 6
Ого! Всё оказалось легче, чем я предполагал! Хотя я подобным образом пробовал, но видать что-то в синтаксисе напутал..
Спасибо большое Bob103, Lexeq!
0
589 / 474 / 184
Регистрация: 19.04.2016
Сообщений: 1,872
30.05.2017, 11:38 7
Zak_er, ответ Lexeq, более правильный, соответствует всем условиям, возможно .{1,7} можно заменить на от 0, смотря что подразумевается под:
Цитата Сообщение от Zak_er Посмотреть сообщение
любые символы. Количество символов – не более 7.
, но в таком случае и первое:
Цитата Сообщение от Zak_er Посмотреть сообщение
набор русских букв. Количество символов - не более 100;
Подразумевается-ли отсутствие этих самых символов вообще как набор, поэтому решение Lexeq, можно считать как верное.
0
8 / 8 / 9
Регистрация: 23.09.2015
Сообщений: 283
30.05.2017, 17:34 8
EveKS, Lexeq, например при тесте Привет_23_23.xml
0
589 / 474 / 184
Регистрация: 19.04.2016
Сообщений: 1,872
30.05.2017, 19:30 9
Цитата Сообщение от Zak_er Посмотреть сообщение
- XX – набор русских букв. Количество символов - не более 100;
- YY – набор цифр. Количество символов – либо 1, либо 10, либо от 14 до 20;
- ZZ – любые символы. Количество символов – не более 7.
Цитата Сообщение от Bob103 Посмотреть сообщение
Привет_23_23.xml
Как это - попадает под условие?
1, 10 или [14,20] никак не 2.
0
8 / 8 / 9
Регистрация: 23.09.2015
Сообщений: 283
30.05.2017, 19:38 10
EveKS, ой да,понял
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2017, 19:38

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Регулярное выражение для проверки корректности арифметического выражения
В этой теме https://www.cyberforum.ru/csharp-beginners/thread789349.html обсуждалось создание...

Регулярное выражение для проверки наличия только цифр и пробелов в строке
Добрый день. Подскажите, пожалуйста, как правильно записать регулярное выражение для проверки...

Регулярное выражение для проверки что фамилия начинается на "А"
Задание. Даны ФИО учеников, вывести Фио каждого ученика фамилия которого начинается на "А", на...

Регулярное выражение проверки MAC-адреса
Написать регулярное выражение определяющее является ли заданная строка правильным MAC-адресом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.