|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.08.2012, 16:44 | #1 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Регулярные выражения. Правильность составления
Всем доброго.
Есть задача с помошью регулярных выражений определить пригоден ли файл (определяется по его имени) к некоей задаче. Допустим есть файлы: d123456789.dbf..DBF d123456789.dbf Первый файл не пригоден - у него испорчено расширение, второй годится. Проверяю так: Код:
Уверен что не правильно построил вторую часть "и не оканчивается на .dbf." Подскажите как должно быть правильно выстроено дабы отсеивать из списка файлы с некорректным расширением. P.S. Расширение может быть с любым количеством точек
I'm learning to live...
|
28.08.2012, 16:54 | #2 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
Stilet
Первый файл не пригоден - у него испорчено расширение На каком основании сделан такой вывод? Вообще по описанию очень мутно понять, какой-же файл считается пригодным
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
28.08.2012, 17:53 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Отсеивать нужно .dbf..DBF Но в случае, описанном в топе так же отсеивается и те у кого расширение нормальное. P.S. Я конечно могу проверять другим методом, но всетки регулярку освоить не помешало бы.
I'm learning to live...
|
|
28.08.2012, 18:00 | #4 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Stilet, зачем такие сложности для столь простой задачи?
Исходя из правила: "Правильный файл" имеет формат <Имя файла с точками>.<расширение>. Ищите только расширение и считайте их кол-во. Следует, что если файл имеет больше 1-го вхождения(совпадения) для значения .dbf (одна точка и знаки после неё), то это не правильный файл. Регулярки тут не нужны вовсе, но для практики не плохо. Последний раз редактировалось Человек_Борща; 28.08.2012 в 18:02. |
28.08.2012, 18:01 | #5 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
Stilet
Сторонняя программа (которую не возможно переписать) давится всеми у которых расширение не .dbf Ну тогда почему бы и не отсеять все файлы, у которых расширение не .dbf? if not \.dbf$ then error хотя зачем для этого регулярка...? Shell API в Windos неплохо справляется, да и в Delphi есть свои функции..
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
28.08.2012, 18:14 | #6 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Вот написал..
Код:
Если результат больше 2-х, то это плохое имя файла. |
28.08.2012, 18:51 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Вдруг понравится? Ладно, мысли уловил, для производства сделаю проверку на отсутствие .dbf. в принципе - пока этого хватит, но всетки для себя хочу знать как на регулярке такое расписать. Покручу еще мануалы, может дойдет наконец.
I'm learning to live...
|
|
28.08.2012, 18:55 | #8 | |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Цитата:
Код:
d12XXXXXXX.dbf где X - цифра |
|
28.08.2012, 20:15 | #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 |