Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
voral
392 / 372 / 50
Регистрация: 16.03.2008
Сообщений: 1,861
#1

Обработка файов регулярными выражениями. - C++

03.08.2011, 16:53. Просмотров 664. Ответов 6
Метки нет (Все метки)

Задайте верное направление.

Исходная задача. Необходимо обработать текстовый файл "умным образом". Где то достаточно просто замены "А" на "Б"; где то необходимы регулярные выражения (например, дату из формата dd.mm.YYYY в YYYY-mm-dd) и т.п. Соответственно полгаю использовать регулярные выражения и boost.
Думаю хранить пары "рег.выражение"/"на что заменять" хранить в текстовом файле, затем загружать в массив. Далее считывать построчно исходный файл, для каждой строки проверять каждую пару при помощи boost::replace. Утилиту хочется уже сейчас.

Однако с boost я ни разу не работал. Сейчас поглядел там много чего есть, быстро все не разглядеть. Нет ли там более подходящего для решения моей задачи?

Добавлено через 2 часа 47 минут
как ни странно ответ нашел в документации. И даже код подходит в качестве заготовки
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2011, 16:53     Обработка файов регулярными выражениями.
Посмотрите здесь:

Калькулятор с выражениями со скобками C++
C++ Не получается работать с регулярными выражениями
Проверка на наличие подстроки регулярными выражениями C++
Обработка матриц в С++ C++
Какие из приведенных конструкций являются выражениями? C++
C++ Области, описываемые логическими выражениями
Access Violation при работе с регулярными выражениями C++ Builder
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
03.08.2011, 18:13     Обработка файов регулярными выражениями. #2
Проще и быстрее такое делается на perl
voral
392 / 372 / 50
Регистрация: 16.03.2008
Сообщений: 1,861
03.08.2011, 18:21  [ТС]     Обработка файов регулярными выражениями. #3
"Проще и быстрее" это делается с использованием плагина (регулярка) к FAR под виндой и sedом в линуксе...... Тем не менее не для всех это "удобнее и быстрее". Есть ли смысл стваить перл ради утилиты такого уровня?
hijacker7
19 / 19 / 1
Регистрация: 06.10.2011
Сообщений: 53
13.10.2011, 18:11     Обработка файов регулярными выражениями. #4
Цитата Сообщение от voral Посмотреть сообщение
Есть ли смысл стваить перл ради утилиты такого уровня?
На винду установить ActivePerl - пятиминутное дело, а на линуксе он обычно уже есть
voral
392 / 372 / 50
Регистрация: 16.03.2008
Сообщений: 1,861
13.10.2011, 18:26  [ТС]     Обработка файов регулярными выражениями. #5
В общем то задача решена. Естественно это не перл. (обяснять пользователю, что ему еще что то нужно установить дело не благодарное). Гораздо легче отправить бинарник и конфиг.

Сделал как и планировал C++ + boost
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
14.10.2011, 09:53     Обработка файов регулярными выражениями. #6
Из perl тоже можно сделать бинарик
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2011, 14:50     Обработка файов регулярными выражениями.
Еще ссылки по теме:

Дана таблица с булевыми выражениями, некоторые элементы которой утеряны. Требуется восстановить таблицу C++
C++ Обработка массива
Как работать с регулярными выражениями с модулем RegExpr.pas C++ Builder
Работа с регулярными выражениями С++ C++
Выбрать различные цифры из однотипных строк регулярными выражениями C++

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

Или воспользуйтесь поиском по форуму:
voral
392 / 372 / 50
Регистрация: 16.03.2008
Сообщений: 1,861
14.10.2011, 14:50  [ТС]     Обработка файов регулярными выражениями. #7
Хм. Интересно. Не знал. Надо будет порешать для себя вопрос php vs perl. Хотя, для меня, си все равно лучше
Yandex
Объявления
14.10.2011, 14:50     Обработка файов регулярными выражениями.
Ответ Создать тему
Опции темы

Текущее время: 21:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru