ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

регулярка свехнулась, толи я ...))
  #1  
Старый 15.04.2010, 20:41
Аватар для Sn@k3
Sn@k3
Познавший АНТИЧАТ
Регистрация: 13.04.2006
Сообщений: 1,738
Провел на форуме:
5151669

Репутация: 1198


Отправить сообщение для Sn@k3 с помощью ICQ
По умолчанию регулярка свехнулась, толи я ...))

вообщем есть строка типа:

Код:
<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>
и надо бы вытащить три значения:
дата
город
текст

набросал регулярку для всех трёх:


Код:
дата-        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/ регулярки рабочие, в файле же не пашет. п.с. как же я тока не пробовал выводить и прег_матчем и прегматчем_алл, всякие форы, вайлы, форетчи всё-всё-всё, кароче помогите))
 
Ответить с цитированием

  #2  
Старый 15.04.2010, 20:46
Аватар для W!z@rD
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

center>(.+?)</td>.*?checkpoint2>(.+?)</td>.*?checkpoint3>(.+?)</td>

http://img44.imageshack.us/img44/4363/04152010224509.jpg
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #3  
Старый 15.04.2010, 22:01
Аватар для Sn@k3
Sn@k3
Познавший АНТИЧАТ
Регистрация: 13.04.2006
Сообщений: 1,738
Провел на форуме:
5151669

Репутация: 1198


Отправить сообщение для Sn@k3 с помощью ICQ
По умолчанию

так он всю строку копипастит) такбы я и сам сделал именно те три отдельно а не вместе
 
Ответить с цитированием

  #4  
Старый 15.04.2010, 22:08
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

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];
?>
не?
 
Ответить с цитированием

  #5  
Старый 15.04.2010, 22:29
Аватар для Sn@k3
Sn@k3
Познавший АНТИЧАТ
Регистрация: 13.04.2006
Сообщений: 1,738
Провел на форуме:
5151669

Репутация: 1198


Отправить сообщение для Sn@k3 с помощью ICQ
По умолчанию

спб, был косяк в том что я напрямую данные из файла пробовал прегматчем обрабатывать, надо было сначало их точнее из переменной где были данные скопить в ещё одну переменную
 
Ответить с цитированием

  #6  
Старый 16.04.2010, 08:49
Аватар для dr.Web
dr.Web
Участник форума
Регистрация: 02.02.2009
Сообщений: 146
Провел на форуме:
1093500

Репутация: 43
Отправить сообщение для dr.Web с помощью ICQ
По умолчанию

я уже делал тоже самое недавно
http://forum.antichat.ru/thread196196.html
 
Ответить с цитированием

  #7  
Старый 16.04.2010, 10:30
Аватар для login999
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Чисто из интереса решил на Python.
Почему-то мну кажется, что одна регулярка - лучше чем три...

Код:
#!/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:]

Последний раз редактировалось login999; 16.04.2010 в 10:43..
 
Ответить с цитированием

  #8  
Старый 16.04.2010, 17:29
Аватар для W!z@rD
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

Цитата:
Сообщение от Sn@k3  
так он всю строку копипастит) такбы я и сам сделал именно те три отдельно а не вместе
не понял, гоу на канал, там разберемся
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
регулярка rubik-nerubik PHP, PERL, MySQL, JavaScript 11 01.10.2009 09:10
[php]толи лыжи не едут, толи.... Sn@k3 PHP, PERL, MySQL, JavaScript 11 15.09.2009 00:45
Регулярка тупит. Пхп. Krist_ALL PHP, PERL, MySQL, JavaScript 2 31.07.2009 16:14
Толи вирус Толи нет???? waik Защита ОС: вирусы, антивирусы, файрволы. 24 08.02.2009 20:27
регулярка попугай PHP, PERL, MySQL, JavaScript 9 17.01.2009 16:37



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ