Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Regexp и binary data / 4 сообщений из 4, страница 1 из 1
22.07.2015, 12:41
    #39013277
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Regexp и binary data
Добрый день всем.

Как-то исторически сложилось что механзм regexp применяют для процессинга
текстовых данных.

Кто-нибудь использовал regexp-s для поиска и извлечения бинарных данных.
Поделитесь сведениями. Опытом. Юзкейсами.

Спасибо.
...
Рейтинг: 0 / 0
22.07.2015, 15:28
    #39013490
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Regexp и binary data
Теоретически это возможно. Языку без разницы какой у него алфавит.
Практически я не встречал такого в реальности. Бинарные массивы обычно делают структурированными и их проще обрабатывать блоками фиксированной длины. Это с текстами сложности - записи разной длины.
...
Рейтинг: 0 / 0
22.07.2015, 15:39
    #39013507
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Regexp и binary data
Поясню свой вопрос.

К примеру есть некий (мой собственный) формальный механизм описания двоичных файловых форматов.

К примеру для картинок (JPEG) это:

Код: plaintext
1.
FF D8 FF E0 * 4A 46 49 46 00



Описывает заголовок и некий футер который финализирует последовательность.

Имея это описание я могу из произвольных ресурсов (pdf документ или образ диска)
извлекать картинки.

Пытаюсь придумать возможные limitations для regexp которые не дают возможность
это делать для не-текстовых данных. Кроме нуля '\0' ничего пока не придумал.

Вроде как получается можно и регулярки использовать.
...
Рейтинг: 0 / 0
22.07.2015, 15:49
    #39013524
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Regexp и binary data
maytonК примеру для картинок (JPEG) это:

Код: plaintext
1.
FF D8 FF E0 * 4A 46 49 46 00


Тогда уж "\0xff\0xd8\0xff\0xe0.*?\0x4a\0x46\0x49\0x46\0x00".

maytonПытаюсь придумать возможные limitations для regexp которые не дают возможность
это делать для не-текстовых данных. Кроме нуля '\0' ничего пока не придумал.Да и ноль тоже не будет проблемой. Если конечно возьмешь библиотеку у которой можно отключить ограничители строк и запускать на буфер фиксированной длины.
Впрочем, я о таких библиотеках не слышал. Надо будет свою писать.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Regexp и binary data / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]