Не правильное регулярное выражение

<div class="t m0 xd h373 y2d ff1b9 fs5c fc0 sc0 ls0 ws0">R-234</div><div class="t m0 xd h373 y5867 ff1b8 fs5c fc0 sc0 ls0 ws0"> </div><div class="t m0 xd h373 y2f ff1b8 fs5c fc0 sc0 ls0 ws0">1/9/2007</div><div class="t m0 xd h373 y1793 ff1b8 fs5c fc0 sc0 ls0 ws0"> </div><div class="t m0 x29 h373 y2d ff1b8 fs5c fc0 sc0 ls0 ws0">06BSA007K</div><div class="t m0 x29 h373 y5867 ff1b8 fs5c fc0 sc0 ls0 ws0"> </div><div class="t m0 x29 h373 y2f ff1b8 fs5c fc0 sc0 ls0 ws0">175-05-BZ</div><div class="t m0 x29 h373 y1793 ff1b8 fs5c fc0 sc0 ls0 ws0"> </div><div class="t m0 x29 h373 y138 ff1b8 fs5c fc0 sc0 ls0 ws0">2007000014464</div><div class="t m0 x6e h373 y2d ff1b8 fs5c fc0 sc0 ls0 ws0">Hazmat<span class="_ _c6"> </span>520<span class="_ _19d"> </span>13,16<span class="_ _14a"> </span> </div><div class="t m0 xd h19f y1651 ff1b8 fs6 fc0 sc0 ls0 ws0"> </div></div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>

Пытаюсь выцепить содержимое вот этих дивов

<div class="t m0 xd h373 y2d ff1b9 fs5c fc0 sc0 ls0 ws0">содержимое </div>

для этого написал такое регулярное выражение

r = re.findall(r'<div class="t \w{2,} \w{2,} \w{2,} \w{3,} \w{3,} \w{3,} \w{3,} \w{3,} \w{3,} \w{3,}">.{1,}</div>', line)

вместо ожидаемого массива оно возвращает полностью всю эту строку

<div class="t m0 xd h373 y2d ff1b9 fs5c fc0 sc0 ls0 ws0">R-234</div><div class="t m0 xd h373 y5867 ff1b8 fs5c fc0 sc0 ls0 ws0"> </div><div class="t m0 xd h373 y2f ff1b8 fs5c fc0 sc0 ls0 ws0">1/9/2007</div><div class="t m0 xd h373 y1793 ff1b8 fs5c fc0 sc0 ls0 ws0"> </div><div class="t m0 x29 h373 y2d ff1b8 fs5c fc0 sc0 ls0 ws0">06BSA007K</div><div class="t m0 x29 h373 y5867 ff1b8 fs5c fc0 sc0 ls0 ws0"> </div><div class="t m0 x29 h373 y2f ff1b8 fs5c fc0 sc0 ls0 ws0">175-05-BZ</div><div class="t m0 x29 h373 y1793 ff1b8 fs5c fc0 sc0 ls0 ws0"> </div><div class="t m0 x29 h373 y138 ff1b8 fs5c fc0 sc0 ls0 ws0">2007000014464</div><div class="t m0 x6e h373 y2d ff1b8 fs5c fc0 sc0 ls0 ws0">Hazmat<span class="_ _c6"> </span>520<span class="_ _19d"> </span>13,16<span class="_ _14a"> </span> </div><div class="t m0 xd h19f y1651 ff1b8 fs6 fc0 sc0 ls0 ws0"> </div></div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>

что я не правильно написал в регулярном выражении?


Ответы (1 шт):

Автор решения: Sergey Tatarincev

В регулярном выражении нет захвата (смволов группировки). В этом случае результат регулярного выражения - вся совпадающая строка. Вам надо примерно так:

r = re.findall(r'<div class=".*">(.{1,})</div>', line);
print r;
→ Ссылка