Помогите с регулярным выражением

noble

Пользователь
Регистрация
09.10.2014
Сообщения
162
Благодарностей
10
Баллы
18

Вложения

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 361
Благодарностей
8 645
Баллы
113
Нужно вытаращить ссылки объявлений http://www.myremont.in.ua/107-Vnutrennyaya-otdelka/Page-3.html
Сгенерировал регулярку: (?<=<h2><a\ href=").*(?="\ >) , не парсит ссылки
Подскажите в чём косяк?
парсится, но такой регуляркой: (?<=<h2><a\ href=").*?(?=">)
т.е. между замыкающими кавычкой и угловой скобкой не должно быть пробела..
или даже лучше, как написал kibnet ниже, т.е. с кавычкой, без угловой скобки, потому что верстка от страницы к странице может меняться в этом плане и, видимо у вас так и произошло - настраивали регулярку на одной странице, где есть пробел, а на другой странице, где нет пробела, регулярка уже не работает..
 
  • Спасибо
Реакции: noble

Bot_Sculptor

Client
Регистрация
11.06.2012
Сообщения
786
Благодарностей
236
Баллы
43
Нужно вытаращить ссылки объявлений http://www.myremont.in.ua/107-Vnutrennyaya-otdelka/Page-3.html
Сгенерировал регулярку: (?<=<h2><a\ href=").*(?="\ >) , не парсит ссылки
Подскажите в чём косяк?
там все просто
Код:
(?<=<h2><a\ href=").*?(?=")
брать DOM страницы
http://prntscr.com/atinzp
к ссылкам остается только добавить
Код:
http://www.myremont.in.ua
 
  • Спасибо
Реакции: noble

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 538
Баллы
113
Проблема в концовке регулярного выражения, - перед > нет пробела.
Вот рабочий вариант: (?<=<h2><a\ href=")[^"]+
 
  • Спасибо
Реакции: noble

noble

Пользователь
Регистрация
09.10.2014
Сообщения
162
Благодарностей
10
Баллы
18
Большое спасибо всем, за помощь
 

Darkoman

Client
Регистрация
17.03.2018
Сообщения
54
Благодарностей
7
Баллы
8

noble

Пользователь
Регистрация
09.10.2014
Сообщения
162
Благодарностей
10
Баллы
18
Добрый вечер. Прошу помощи. Требуется регулярка. Задача спарсить все названия объявлений по этой ссылке. https://www.avito.ru/drevplit?gdlkerfdnwq=102&shopId=143628
Это можно без регулярки сделать. Вам нужно найти в через "конструктор действий" имя поля в которое всунуты заголовоки. После чего взять их положить куда нужно
 
  • Спасибо
Реакции: Darkoman

Darkoman

Client
Регистрация
17.03.2018
Сообщения
54
Благодарностей
7
Баллы
8
Подскажите. Какую регулярку использовать чтобы бралось значений 1657
Или как сделать чтобы регулярка брала жесткое значение от 1-4 символов и не выделяло в пяти знаках 4 символа.
\d{4} --- использую такую регулрку но берет не моё значение
Данные
Регулярка
\d{4}
Данный для поиска
{ &quot;type&quot;: &quot;item&quot;, &quot;url&quot;: &quot;/items/stat/902213458&quot; }">
1657 (+4)
 

noble

Пользователь
Регистрация
09.10.2014
Сообщения
162
Благодарностей
10
Баллы
18
Подскажите. Какую регулярку использовать чтобы бралось значений 1657
Или как сделать чтобы регулярка брала жесткое значение от 1-4 символов и не выделяло в пяти знаках 4 символа.
\d{4} --- использую такую регулрку но берет не моё значение
Данные
Регулярка
\d{4}
Данный для поиска
{ &quot;type&quot;: &quot;item&quot;, &quot;url&quot;: &quot;/items/stat/902213458&quot; }">
1657 (+4)
Не совсем понятно, приведите пример - код из которого нужно выдернуть искомую переменную или что у Вас там
 
  • Спасибо
Реакции: Darkoman

orka13

Client
Регистрация
07.05.2015
Сообщения
2 159
Благодарностей
2 159
Баллы
113
Подскажите. Какую регулярку использовать чтобы бралось значений 1657
Или как сделать чтобы регулярка брала жесткое значение от 1-4 символов и не выделяло в пяти знаках 4 символа.
\d{4} --- использую такую регулрку но берет не моё значение
Данные
Регулярка
\d{4}
Данный для поиска
{ &quot;type&quot;: &quot;item&quot;, &quot;url&quot;: &quot;/items/stat/902213458&quot; }">
1657 (+4)
ищет четыре цифры, вокруг которых в тексте расположены НЕцифры (пробелы, буквы, границы строк...):
Код:
(?<=\D)\d{4}(?=\D)
 
  • Спасибо
Реакции: Darkoman

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)