В общем, есть блоки данных вида грубо говоря
[data_id="" class="" [тут еще куча всяких параметров] [а здесь конец блока, всегда одинаковый]]
И мне среди кучи вот таких блоков надо спарсить конкретный блок:
[data_id="" class="" [параметры] *Значение_которое_известно* [еще параметры] *Значение_которое_известно2* [а здесь конец блока, всегда одинаковый]]
Если нужный блок будет самый первый, то регуляркой
[data_id="" class="" (.*?) *Значение_которое_известно* (.*?) *Значение_которое_известно2* [а здесь конец блока, всегда одинаковый]]
он парсится как надо.
Но если перед ним стоят другие блоки, то с такой регуляркой он спарсит все блоки начиная с первого и заканчивая нужным блоком.
Как исправить регулярку, чтобы искал только нужный блок? Я так понимаю, тут нужно смотрящие использовать, но я читал, пытался понять, ниче не вышло. >_>
[data_id="" class="" [тут еще куча всяких параметров] [а здесь конец блока, всегда одинаковый]]
И мне среди кучи вот таких блоков надо спарсить конкретный блок:
[data_id="" class="" [параметры] *Значение_которое_известно* [еще параметры] *Значение_которое_известно2* [а здесь конец блока, всегда одинаковый]]
Если нужный блок будет самый первый, то регуляркой
[data_id="" class="" (.*?) *Значение_которое_известно* (.*?) *Значение_которое_известно2* [а здесь конец блока, всегда одинаковый]]
он парсится как надо.
Но если перед ним стоят другие блоки, то с такой регуляркой он спарсит все блоки начиная с первого и заканчивая нужным блоком.
Как исправить регулярку, чтобы искал только нужный блок? Я так понимаю, тут нужно смотрящие использовать, но я читал, пытался понять, ниче не вышло. >_>