[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Можно ли приравнять "начало" и "конец" рег. выр.
alted
Здравствуйте.

Начал потихоньку изучать php в мае этого года. Изучаю сам, без учителей, поэтому посоветовать некому(

Сейчас пытаюсь решить одну задачку: найти в бинарном файле нужные участки кода, ну и "загнать" их в массив.

Файл сначала перевожу в шестнадцатиричный формат при помощи функции bin2hex. Затем ищу нужные участки при помощи функции:
preg_match_all('/00.{8}42.{10,240}01.{8}/Ui',$f,$chat);

В принципе, она работает, но есть одно но. Если файл попадается большой то вырезается слишком много лишнего, которое потом нужно еще раз фильтровать. Можно ли как то задать условие .{8} == .{8} в момент поиска? Т.е. чтобы первые 8 символов, совпали с последними...

Заранее извиняюсь, если вопрос был разобран. Прочитал темы на нескольких сайтах по рег. выражениям, ответа на свой вопрос не нашел, или "не понял" ...
twin
В регулярных выражениях есть так называемые ссылки. Примерно так:
Цитата
preg_match_all('/00(.{8})42.{10,240}01\\1/Ui',$f,$chat);
Всё что в первой подмаске (круглых скобках) передается по ссылке сюда: \\1

За работоспособность не ручаюсь, но принцип такой.

UPD Долго писал)))

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
alted
Спс всем (плюсик не работает). Все правильно, код работает!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.