Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
voral
559 / 544 / 99
Регистрация: 16.03.2008
Сообщений: 2,505
#1

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

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

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

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

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

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

Access Violation при работе с регулярными выражениями - C++ Builder
иногда когда строку надо обработать регулярным выражением, то в начале процесса выкачивает ошибка, а иногда нет. подскажите в чем может...

Как работать с регулярными выражениями с модулем RegExpr.pas - C++ Builder
Подключил в проект модуль RegExpr.pas, потому что все попытки подключить boost провалились (винда 7), но не могу найти примеров...

Работа с регулярными выражениями С++ - C++
Опишите функцию анализа номера, обработайте ошибку указания номера у недопустимом формате (допустимий формат (095)224-43-24)

Не получается работать с регулярными выражениями - C++
Добрый день, коллеги! Обращаюсь с вопросом, потому что новичок. Мне необходимо, используя регулярные выражения, скопировать определенные...

Работа с регулярными выражениями и исключения - C++
Очень простой вопрос - какую взять библиотеку для работы с регулярными выражениями, удовлетворяющую одному из следующих условий: 1)...

Проверка на наличие подстроки регулярными выражениями - C++
Здравствуйте. С помощью регулярных выражений я пытаюсь проверить наличие подстроки. Для этого пишу такой код: std::regex...

6
odip
Эксперт С++
7161 / 3223 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
03.08.2011, 18:13 #2
Проще и быстрее такое делается на perl
1
voral
559 / 544 / 99
Регистрация: 16.03.2008
Сообщений: 2,505
03.08.2011, 18:21  [ТС] #3
"Проще и быстрее" это делается с использованием плагина (регулярка) к FAR под виндой и sedом в линуксе...... Тем не менее не для всех это "удобнее и быстрее". Есть ли смысл стваить перл ради утилиты такого уровня?
0
hijacker7
20 / 20 / 1
Регистрация: 06.10.2011
Сообщений: 53
13.10.2011, 18:11 #4
Цитата Сообщение от voral Посмотреть сообщение
Есть ли смысл стваить перл ради утилиты такого уровня?
На винду установить ActivePerl - пятиминутное дело, а на линуксе он обычно уже есть
0
voral
559 / 544 / 99
Регистрация: 16.03.2008
Сообщений: 2,505
13.10.2011, 18:26  [ТС] #5
В общем то задача решена. Естественно это не перл. (обяснять пользователю, что ему еще что то нужно установить дело не благодарное). Гораздо легче отправить бинарник и конфиг.

Сделал как и планировал C++ + boost
0
odip
Эксперт С++
7161 / 3223 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
14.10.2011, 09:53 #6
Из perl тоже можно сделать бинарик
0
voral
559 / 544 / 99
Регистрация: 16.03.2008
Сообщений: 2,505
14.10.2011, 14:50  [ТС] #7
Хм. Интересно. Не знал. Надо будет порешать для себя вопрос php vs perl. Хотя, для меня, си все равно лучше
0
14.10.2011, 14:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2011, 14:50
Привет! Вот еще темы с ответами:

Выбрать различные цифры из однотипных строк регулярными выражениями - C++
есть много таких строк: <AddOrder price="100.20" orderId="199" operation="BUY" /> <DeleteOrder orderId="199" /> нужно выцепить отсюда...

Проверка формата ввода аргументов командной строки регулярными выражениями - C++
Часто при запуске программы на вход подаются дополнительные данные в определённом формате (взять хоть компиляцию с флагами). Валидация...

Калькулятор с выражениями со скобками - C++
Нужно написать программу (консольное приложение на c++), имитирующую работу калькулятора с выражениями со скобками и дейcтвительными...

Области, описываемые логическими выражениями - C++
Области, описываемые логическими выражениями Для данных областей составить линейную программу, которая печатает true, если точка с...


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

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

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