The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Возможно ли на regexp perl удалить определенное число байтов?"
Версия для распечатки Пред. тема | След. тема
Форум Программирование под UNIX
Исходное сообщение [ Отслеживать ]

. "Возможно ли на regexp perl удалить определенное число байтов?" +/
Сообщение от zhukoviaemail (ok), 06-Фев-20, 07:23 
>> Забыл добавить подобная последовательность (\x00\x00) может быть не один раз внутри "мусора".
>> И начинается не строго с \xE3\x33. В начале бывает еще 1-2
>> символа произвольных, но длинна всегда 70 байт.
> На перле это делается как два пальца об асфальт, остается только понять
> что такое "бывает 1-2 символа" и как эти два символа отличить
> от остальной части строки.
> Регексы требуют четкости, а не размытых формулировок.

Согласен что нужно четко описывать, но проблема в том что эти 1-2 символа никак не отличить от нормальной строки поэтому я пошел другим путем. Сначала перевернул строку, а потом искал \x00\x00 и от них уже искал 70 байт и вырезал, потом строку обратно переворачивал.
$row = reverse($row);
$row=~s/\x00\x00.{68}//g;
$row = reverse($row);
Возможно перевороты туда сюда и не оптимальны но это работает.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Возможно ли на regexp perl удалить определенное число байтов?, zhukovia, 05-Фев-20, 13:29  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру