![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Всем доброго.
Есть задача с помошью регулярных выражений определить пригоден ли файл (определяется по его имени) к некоей задаче. Допустим есть файлы: d123456789.dbf..DBF d123456789.dbf Первый файл не пригоден - у него испорчено расширение, второй годится. Проверяю так: Код:
Уверен что не правильно построил вторую часть "и не оканчивается на .dbf." Подскажите как должно быть правильно выстроено дабы отсеивать из списка файлы с некорректным расширением. P.S. Расширение может быть с любым количеством точек
I'm learning to live...
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
![]()
Stilet
Первый файл не пригоден - у него испорчено расширение На каком основании сделан такой вывод? Вообще по описанию очень мутно понять, какой-же файл считается пригодным
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
![]() |
![]() |
![]() |
#3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Отсеивать нужно .dbf..DBF Но в случае, описанном в топе так же отсеивается и те у кого расширение нормальное. P.S. Я конечно могу проверять другим методом, но всетки регулярку освоить не помешало бы.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
![]()
Stilet, зачем такие сложности для столь простой задачи?
Исходя из правила: "Правильный файл" имеет формат <Имя файла с точками>.<расширение>. Ищите только расширение и считайте их кол-во. Следует, что если файл имеет больше 1-го вхождения(совпадения) для значения .dbf (одна точка и знаки после неё), то это не правильный файл. Регулярки тут не нужны вовсе, но для практики не плохо. Последний раз редактировалось Человек_Борща; 28.08.2012 в 18:02. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
![]()
Stilet
Сторонняя программа (которую не возможно переписать) давится всеми у которых расширение не .dbf Ну тогда почему бы и не отсеять все файлы, у которых расширение не .dbf? if not \.dbf$ then error хотя зачем для этого регулярка...? Shell API в Windos неплохо справляется, да и в Delphi есть свои функции..
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
![]()
Вот написал..
Код:
Если результат больше 2-х, то это плохое имя файла. |
![]() |
![]() |
![]() |
#7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Вдруг понравится? Ладно, мысли уловил, для производства сделаю проверку на отсутствие .dbf. в принципе - пока этого хватит, но всетки для себя хочу знать как на регулярке такое расписать. Покручу еще мануалы, может дойдет наконец.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#8 | |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]() Цитата:
Код:
d12XXXXXXX.dbf где X - цифра |
|
![]() |
![]() |
![]() |
#9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Об этом я как-то не подумал. Спасибо.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
регулярные выражения | Зод | Общие вопросы Delphi | 3 | 03.11.2011 11:18 |
регулярные выражения | CodeNOT | PHP | 2 | 23.09.2011 12:11 |
составления условного выражения, эквивалентного данному | AshimVeeskela | Помощь студентам | 2 | 30.08.2011 14:00 |
регулярные выражения | Farrel | PHP | 3 | 06.02.2011 18:43 |
Прошу помощи. Нада проверить правильность составления проги. И помочь исправить ошибку | Ascor | Общие вопросы C/C++ | 4 | 03.06.2008 10:54 |