The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Perl)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Возможно ли на regexp perl удалить определенное число байтов?, zhukovia (ok), 05-Фев-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


17. "Возможно ли на regexp perl удалить определенное число байтов?"  +/
Сообщение от ACCA (ok), 10-Фев-20, 21:06 
>> (в hex представлении), а в начале \xE3\x33 но при этом он
>> не всегда находится в самом начале иногда перед ним бывает 1
>> или 2 символа. При этом длинна "мусорной" строки всегда 70 байт.
> Этому определению строки строго соответствует регексп
(?=.{0,2}\xE3\x33).{68}\x00{2}

> Дальше понятно, или нужно разжевывать?

Ага. Разжуй две ситуации, в которых твой regex не сработал:
   1. Перед \xE3\x33 есть ОДИН символ
   2. Перед \xE3\x33 есть ДВА символа. Строка осталась 70 байтов. А ты ожидаешь 72.

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

18. "Возможно ли на regexp perl удалить определенное число байтов?"  +/
Сообщение от U.N.Owen (?), 28-Мрт-20, 19:45 
> Ага. Разжуй две ситуации, в которых твой regex не сработал:
>    1. Перед \xE3\x33 есть ОДИН символ

И?
{0, 2}, если что, включает в себя 1.

>    2. Перед \xE3\x33 есть ДВА символа. Строка осталась 70
> байтов. А ты ожидаешь 72.

Регексп работает и ожидает 70 символов. (?=.....) — это просмотр вперёд, если что. Далее отсчет идет с начала строки.

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

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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