[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Парсер
fink-artem
Здравствуйте
помогите, пожалуйста,
хочу научиться писать парсеры, но не понимаю как в preg_match_all
написать шаблон
не совсем понимаю значение вот этих символов $ , ^ , ?
и не понимаю зачем столько слешов
объясните, пожалуйста кто может



Спустя 7 минут, 39 секунд (5.07.2011 - 09:24) m4a1fox написал(а):
fink-artem
Вот что получается:
$ - конец строки
^ - начало строки
? - 0 или 1

Спустя 2 минуты, 1 секунда (5.07.2011 - 09:26) ИНСИ написал(а):

Спустя 28 минут, 8 секунд (5.07.2011 - 09:54) fink-artem написал(а):
Чо то все равно сложно
А можно на примере
вот как должен выглядеть шаблон, если я хочу получить
всё, что находиться между
<DIV class='content'>
и </DIV>

Спустя 15 минут, 8 секунд (5.07.2011 - 10:09) Invis1ble написал(а):
m4a1fox
у ? множество значений, в зависимости от контекста

Спустя 6 минут, 20 секунд (5.07.2011 - 10:15) fink-artem написал(а):
ну например если контент состоит из набора слов
и ничего более

Спустя 28 минут, 15 секунд (5.07.2011 - 10:44) Invis1ble написал(а):
fink-artem
тебе INSIDIOUS дал прекрасную ссылку, там все хорошо объясняется

Спустя 19 минут, 52 секунды (5.07.2011 - 11:03) fink-artem написал(а):
Я не совсем всё в ней понял

Спустя 2 минуты, 16 секунд (5.07.2011 - 11:06) DySprozin написал(а):

Спустя 2 часа, 7 минут, 16 секунд (5.07.2011 - 13:13) fink-artem написал(а):
Я почитал и попробовал
он пишет

Warning: preg_match() [function.preg-match]: Compilation failed: nothing to repeat at offset 15 in Z:\home\fink1.ru\www\index.php on line 5

Вот код:

  $data = file_get_contents("http://mikatorg.far.ru/");
echo $data;
preg_match('/(?<=предлагаем)*(?=широкий)/', $data, $out);
echo $out[0];


В чём ошибка

Спустя 14 минут, 47 секунд (5.07.2011 - 13:28) Invis1ble написал(а):
Ошибка в том, что нельзя ставить квантификатор после позитивного просмотра назад (да и вообще, после любого просмотра)

Спустя 6 минут, 27 секунд (5.07.2011 - 13:34) fink-artem написал(а):
А по точнее нельзя
я не понял, что вы сейчас сказали

Спустя 7 минут, 43 секунды (5.07.2011 - 13:42) kristall написал(а):
Заюзай какой-нибудь онлайн редактор регулярных выражений
http://rubular.com/ или http://gskinner.com/RegExr/ ,например, а вообще их по сети тьмы и тьмы.

Спустя 11 минут (5.07.2011 - 13:53) fink-artem написал(а):
Все равно как не пробую менять он мне выдаёт ошибки

Спустя 35 минут, 12 секунд (5.07.2011 - 14:28) fink-artem написал(а):
Кажется понял
только мне не понятно каким знаком записывается/
набор символов

Спустя 1 час, 7 минут, 54 секунды (5.07.2011 - 15:36) Invis1ble написал(а):
fink-artem
что значит набор?

Спустя 38 минут, 59 секунд (5.07.2011 - 16:15) fink-artem написал(а):
Ну просто
если есть пара слов, но при этом ты не знаешь сколько в нём слов и какие слова
тебе просто надо его спарсить
вот например цитата откуда-нибудь
каким символом мне в шаблоне заменить эту цитату

Спустя 41 минута, 13 секунд (5.07.2011 - 16:56) Invis1ble написал(а):
понятия "цитата" не существует в программировании =)
смотря как она выглядит

Спустя 14 минут, 28 секунд (5.07.2011 - 17:11) fink-artem написал(а):
Вот например такой текст
Наша фирма работает на рынке торгового оборудования
и если я пишу парсер
у казал то, что находиться после него и перед ним,
но как записать сам этот текст в шаблон
я бы поставил ? но он только для одного знака
а, что для вот такого текста надо ставить?

Спустя 4 минуты (5.07.2011 - 17:15) Invis1ble написал(а):
.*?

Спустя 4 минуты, 45 секунд (5.07.2011 - 17:19) fink-artem написал(а):
Попробовал и он написал мне
Compilation failed: nothing to repeat at offset 3

Спустя 2 минуты, 40 секунд (5.07.2011 - 17:22) fink-artem написал(а):
Вот я попробовал вот это и заработало
?([^\/]+)

Спустя 11 минут, 20 секунд (5.07.2011 - 17:33) Invis1ble написал(а):
fink-artem
Цитата
([^\/]+)

захватывающий поиск одной или более букв, отличных от V

Спустя 1 минута, 15 секунд (5.07.2011 - 17:35) Invis1ble написал(а):
Мой тебе совет: хочешь писать парсеры - учи регулярные выражения, а не занимайся научным тыком =)

Спустя 1 минута, 20 секунд (5.07.2011 - 17:36) Invis1ble написал(а):
#<div class='content'>(.*?)</div>#si
Быстрый ответ:

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