powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Поиск файла по маске(Regex)
14 сообщений из 14, страница 1 из 1
Поиск файла по маске(Regex)
    #38541860
ильдар4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Необходимо получить файлы из директории по маске. Название файла начинается с "Client", конец файла "_delete.xlsx".

Используя тестовый пример(ниже) загружаются все файлы которые содержат "_delete.xlsx" без учета начального выражения. Необходима помощь в регулярке.

Пример:

var mask = @"^[Client]+(.*_delete.xlsx*).*$";
var searchPattern = new Regex(mask, RegexOptions.IgnoreCase);
var files = Directory.GetFiles(fullPath).Where(f => searchPattern.IsMatch(f));
...
Рейтинг: 0 / 0
Поиск файла по маске(Regex)
    #38541878
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ильдар4,

а если так?
Код: c#
1.
var files = Directory.GetFiles("Client*_delete.xlsx");
...
Рейтинг: 0 / 0
Поиск файла по маске(Regex)
    #38541888
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ильдар4, проще так: var files = Directory.GetFiles(fullPath, "Client*_delete.xlsx")
...
Рейтинг: 0 / 0
Поиск файла по маске(Regex)
    #38541893
ильдар4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,

Да так я тоже сделал, но как быть когда мне нужно найти файлы "Client*.xlsx", которые должны быть без "_delete.xlsx"? Я поэтому и стал регулярку писать
...
Рейтинг: 0 / 0
Поиск файла по маске(Regex)
    #38541912
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
^Client.*_delete.xlsx$
...
Рейтинг: 0 / 0
Поиск файла по маске(Regex)
    #38541916
ильдар4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79,

Такой вариант не работает
...
Рейтинг: 0 / 0
Поиск файла по маске(Regex)
    #38541920
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ильдар4но как быть когда мне нужно найти файлы "Client*.xlsx", которые должны быть без "_delete.xlsx"?ты всё-таки определись, нужен "_delete.xlsx" или нет :)
...
Рейтинг: 0 / 0
Поиск файла по маске(Regex)
    #38541923
ильдар4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч,

Не нужен
...
Рейтинг: 0 / 0
Поиск файла по маске(Regex)
    #38541933
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
примерно так

Код: c#
1.
2.
3.
var mask = "Client*.xlsx";
var searchPattern = new Regex(@"_delete\.xlsx$", RegexOptions.IgnoreCase);
var files = Directory.GetFiles(fullPath, mask).Where(f => !searchPattern.IsMatch(f));
...
Рейтинг: 0 / 0
Поиск файла по маске(Regex)
    #38541935
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ильдар4Arm79,
Такой вариант не работает

Да ладно. Какие имена файлов не проходят?
Эти подходят:
Clienteewrwe_delete.xlsx
Client_delete.xlsx
...
Рейтинг: 0 / 0
Поиск файла по маске(Regex)
    #38541950
ильдар4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79,

Да, эти файлы в том числе
...
Рейтинг: 0 / 0
Поиск файла по маске(Regex)
    #38541962
ильдар4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79,

Как-то так еще работает: (Client).*?_.*?(_)(delete)(\\.)(xlsx)
...
Рейтинг: 0 / 0
Поиск файла по маске(Regex)
    #38541966
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ильдар4Arm79,

Как-то так еще работает: (Client).*?_.*?(_)(delete)(\\.)(xlsx)

У меня работает
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
        private void button3_Click(object sender, EventArgs e)
        {
            var rg = new Regex(@"^Client.*_delete\.xlsx$", RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);
            var arr = new string[] {"Clienteewrwe_delete.xlsx", "Client_delete.xlsx", "Client_update.xlsx"};

            foreach (string s in arr)
            {
                Match match = rg.Match(s);

                if (match.Success)
                    richTextBox1.Text += match.Value + Environment.NewLine;
            }
        }
...
Рейтинг: 0 / 0
Поиск файла по маске(Regex)
    #38541978
ильдар4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Поиск файла по маске(Regex)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]