- Забыл добавить подобная последовательность x00 x00 может быть не один раз вну, zhukovia (ok), 13:41 , 05-Фев-20 (1)
Забыл добавить подобная последовательность (\x00\x00) может быть не один раз внутри "мусора". И начинается не строго с \xE3\x33. В начале бывает еще 1-2 символа произвольных, но длинна всегда 70 байт.
- Что-то такое, если я вас верно понял clean do use bytes str s 68 x0, Аноним (3), 00:14 , 06-Фев-20 (3)
> Есть строка текста в которой в произвольном месте может содержаться "мусорный" текст > который нужно вычистить. У "мусора" следующие параметры он оканчивается на \x00\x00 > (в hex представлении), а в начале \xE3\x33 но при этом он > не всегда находится в самом начале иногда перед ним бывает 1 > или 2 символа. При этом длинна "мусорной" строки всегда 70 байт. > Встречается "мусор" произвольное число раз. > Возможно ли на Perl составить такое регулярное выражение или два три выражения > которое удаляло бы ненужное?Что-то такое, если я вас верно понял. $clean = do{ use bytes ; $str =~ s/.{68}\x00{2}(?!=\x00)//g ; $str }
- Так оно не проверит на xE3 x33 Нужно тщательнее clean do use bytes str , ACCA (ok), 01:11 , 06-Фев-20 (4)
- x00 как я понимаю эта конструкция будет искать x00 2 после которых нет , zhukovia (ok), 07:29 , 06-Фев-20 (7)
- видимо тут x00 , и видимо оно будет учитывать что в мусоре x00 не только в , Pahanivo (ok), 12:26 , 06-Фев-20 (9)
- Да, - опечатка, должно быть Конструкция смотрит 2 нулевых байта, после кот, Аноним (3), 00:50 , 07-Фев-20 (12)
- Этому определению строки строго соответствует регексп code 0,2 xE3 x33 , U.N.Owen (?), 14:05 , 08-Фев-20 (16) –1
> Есть строка текста в которой в произвольном месте может содержаться "мусорный" текст > он оканчивается на \x00\x00 > (в hex представлении), а в начале \xE3\x33 но при этом он > не всегда находится в самом начале иногда перед ним бывает 1 > или 2 символа. При этом длинна "мусорной" строки всегда 70 байт. Этому определению строки строго соответствует регексп (?=.{0,2}\xE3\x33).{68}\x00{2} Дальше понятно, или нужно разжевывать?
|