вообщем есть строка типа: Code: <table width=100% bgcolor=#FDFDFF width=115><td width=16% valign=top checkpoint1><p align=center>10.02.2009</td><td align=center width=18% valign=top checkpoint2>22город222</td><td width=51% valign=top checkpoint3>121текст2222222</td></tr></table> и надо бы вытащить три значения: дата город текст набросал регулярку для всех трёх: Code: дата- ter>([0-9]{1,2}).([0-9]{2}).([0-9]{4})</td город- n=top checkpoint2>(.*)</td><td width=51% текст- top checkpoint3>(.*)</td></tr> проверил тут: http://gskinner.com/RegExr/ регулярки рабочие, в файле же не пашет. п.с. как же я тока не пробовал выводить и прег_матчем и прегматчем_алл, всякие форы, вайлы, форетчи всё-всё-всё, кароче помогите))
center>(.+?)</td>.*?checkpoint2>(.+?)</td>.*?checkpoint3>(.+?)</td> http://img44.imageshack.us/img44/4363/04152010224509.jpg
PHP: <?php $a='<table width=100% bgcolor=#FDFDFF width=115><td width=16% valign=top checkpoint1><p align=center>10.02.2009</td><td align=center width=18% valign=top checkpoint2>22город222</td><td width=51% valign=top checkpoint3>121текст2222222</td></tr></table>'; preg_match('#<table .*><td .*><p .*>(.*)</td><td .*>(.*)</td><td .*>(.*)</td></tr></table>#',$a,$res); echo "Дата: " . $res[1] . " город: " . $res[2] . " текст: " . $res[3]; ?> не?
спб, был косяк в том что я напрямую данные из файла пробовал прегматчем обрабатывать, надо было сначало их точнее из переменной где были данные скопить в ещё одну переменную
Чисто из интереса решил на Python. Почему-то мну кажется, что одна регулярка - лучше чем три... Code: #!/usr/bin/env python #-*-encoding:UTF-8-*- import re data = u"""<table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>вава</td><td width=51% valign=top 3>вавававава</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>6565</td><td width=51% valign=top 3>565656565</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>456456</td><td width=51% valign=top 3>456456456</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>456456456</td><td width=51% valign=top 3>456456</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>456456456</td><td width=51% valign=top 3>456456456</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>456456456</td><td width=51% valign=top 3>456456456</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>5555</td><td width=51% valign=top 3>4555555555</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>57567</td><td width=51% valign=top 3>567567</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>757567</td><td width=51% valign=top 3>567567567</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>567567</td><td width=51% valign=top 3>576756756756</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>56757</td><td width=51% valign=top 3>56756757</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>4645645</td><td width=51% valign=top 3>6456456456</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>45645</td><td width=51% valign=top 3>645646</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>45645</td><td width=51% valign=top 3>645646</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>45645</td><td width=51% valign=top 3>645646</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>45645</td><td width=51% valign=top 3>645646</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>45645</td><td width=51% valign=top 3>645646</td></tr></table> <table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>343434</td><td width=51% valign=top 3>343434</td></tr></table>""" parsed = re.findall(ur"\>(.[^\<p ]*?)\<\/td\>", data) dates = parsed[::3] first = parsed[1::3] second = parsed[2::3] for x in zip(dates, first, second): print x print u"="*40 while parsed: print u"|".join(parsed[:3]) parsed = parsed[3:]