Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
AlexAngel
21 / 28 / 2
Регистрация: 04.12.2013
Сообщений: 263
1

Чтение файла в потоке и регулярные выражения

08.05.2015, 05:17. Просмотров 676. Ответов 1
Метки нет (Все метки)

Доброго времени!

Дали задание написать небольшой парсер из файла. Файл не текстовый, а результат работы аппаратной системы (в нем кроме полезных данных есть еще куча "мусора"). Размер файла около 270 мб и файл меняется раз в три дня.

Задача: вытянуть из файла все ФИО и должности сотрудников и еще кое-что по мелочи .
С регулярными выражениями знаком.

Так как размер файла не очень мелкий, не текстовый и постоянно меняется, то решил читать файл в потоке:

C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 
//читаем файл в потоке 
TFileStream* stream=new TFileStream("rauf_mcp_skz.bin",fmOpenReadWrite|fmShareExclusive)
stream->Seek(0,soFromBeginning);
 
// проверка на регулярные выражения
//если что-то найдено, то заносим в Memo и продолжаем поиск
 
}
Собственно сам вопрос в следующем: файл вроде читается, а вот как сделать поиск в нем используя регулярные выражение не могу сообразить. Я так понимаю, что нужно организовать цикл от 0 до "размер потока" и в нем используя регулярку сделать поиск, чтобы найти все совпадения, а не только первое попавшееся, я прав?

Кто может подсказать как это сделать или дать ссылку где почитать, буду очень благодарен!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2015, 05:17
Ответы с готовыми решениями:

Чтение файла в потоке
Доброго времени суток, пишу небольшой парсер файла. Столкнулся с проблемой, в...

Регулярные выражения
Надо использовать регулярное выражение, но что-то не получается. Подскажите...

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

Регулярные выражения в 64 битном приложении
Всем привет. Вот задумался перевести свой проект на 64 бита. Так вот, в...

Регулярные выражения C++ Builder XE3
Помогите, пожалуйста. Перечитал уже кучу форумов и советов. Необходимо в...

1
Почтальон
Модератор
698 / 575 / 119
Регистрация: 22.03.2015
Сообщений: 3,931
Завершенные тесты: 2
08.05.2015, 08:48 2
Как вариант - можете здесь посмотреть: Поиск по содержимому
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2015, 08:48

Регулярные выражения аналог preg_match в C++ Builder
Появилась необходимость в регулярных выражениях. И решил на будущее сделать...

Регулярные выражения для парсера html
Здравствуйте, не давно начал изучать c++ и решил сделать не большой парсер...

Регулярные выражения: проверить, является ли введенное значение телефонным номером с кодом
Всем доброго времени суток! Изучаю регулярные выражения, подключил к...


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

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

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