Помогите с регуляркой
-
Всем привет, парни помогите с регуляркой бьюсь второй день, никак допетрить не могу как вытащить id групп в фейбуке
Необходимо вытащить из <a href="/groups/perthGSDplaydates/?ref=br_rs" data-testid="serp_result_link#2@EntGroup">Perth German Shepherd Play Dates</a> только perthGSDplaydates или цифровой id соответственно
вот файлик с кодом https://yadi.sk/i/a39laNAsyaGXNЗаранее спасибо!!!
-
\/groups\/([^\/]+)\/
Вот так у меня работает
0_1479127812777_regexpgroupfb.xml
-
Добрый день всем.
Ещё раз спасибо за софт!
Вопрос мелкий, новую тему создавать нецелесообразно )
Как через регулярные выражения сделать так, чтобы на выходе получить только первое вхождение, а не список. Только через доп операцию получения первого элемент списка?
-
@xclsv есть же в регуялрных выражения пункт первое вхождение
-
@DrPrime
Да? Ткните, пожалуйста, носом, если несложно =)
-
@DrPrime
Нашёл! Спасибо! Разбираюсь, как пользоваться =)
-
Помогите, плз, расшифровать ошибку:
[16:04:29] Поток №1 : SyntaxError: Parse error Номер строки:2 Во время выполнения скрипта { VAR_PARSED_LIST = (VAR_SAVED_XML).split(<ul\ id="(\w+\d+)") section_start("test", 17403,function(){ })}
Регулярку составлял при помощи конструктора. Что не так в синтаксисе?
-
@xclsv said in Помогите с регуляркой:
Помогите, плз, расшифровать ошибку:
[16:04:29] Поток №1 : SyntaxError: Parse error Номер строки:2 Во время выполнения скрипта { VAR_PARSED_LIST = (VAR_SAVED_XML).split(<ul\ id="(\w+\d+)") section_start("test", 17403,function(){ })}
Регулярку составлял при помощи конструктора. Что не так в синтаксисе?
Не знаю, почему, но вдруг всё заработало =)
Так что не актуально =) Спасибо за ответы )
-
Други приветствую! Помогите с регуляркой, пробую через BAS-овский конструктор, нифига не работают у меня его регулярки :( , надо вытянуть из ответа сервера то что между - The following address(es) failed: и ------ This is a copy of the message, including all the headers. ------ хотя предпочтительнее сразу выдернуть email адреса было бы...
A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: sldutchak@rambler.ru SMTP error from remote mail server after RCPT TO:<sldutchak@rambler.ru>: host inmx.rambler.ru [81.19.78.65]: 540 5.7.1 <sldutchak@rambler.ru>: recipient address rejected: Blocked natali-sirena@rambler.ru SMTP error from remote mail server after RCPT TO:<natali-sirena@rambler.ru>: host inmx.rambler.ru [81.19.78.65]: 540 5.7.1 <natali-sirena@rambler.ru>: recipient address rejected: Blocked stepa3504@rambler.ru SMTP error from remote mail server after RCPT TO:<stepa3504@rambler.ru>: host inmx.rambler.ru [81.19.78.65]: 540 5.7.1 <stepa3504@rambler.ru>: recipient address rejected: Blocked ------ This is a copy of the message, including all the headers. ------
-
@bigorat Самое элементарное:
<(.*@*.)>
Хоть и выглядит специфически
:D
Вытягивает все эмейлы между<
и>
Либо более сложное:
(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6})
А вообще, вот хорошая шпаргалка.
-
@Fox, эти регулярки я знаю, но простыня из которой парсить надо гораздо больше и с ненужными email-ми, суть в том что надо выдрать именно то что между:
A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed:
и
------ This is a copy of the message, including all the headers. ------
Составляю регулярку в конструкторе
This\ is\ a\ permanent\ error\.\ The\ following\ address\(es\)\ failed:\ \ (.+?)\-\-\-\-\-\-\ This\ is\ a\ copy\ of\ the\ message\,\ including\ all\ the\ headers\.\ \-\-\-\-\-\-
но не пашет она :(
А регулярка из зеннопостера
(?<=The\ following\ address\(es\)\ failed:)[\w\W]*?(?=------\ This\ is\ a\ copy\ of\ the\ message,\ including\ all\ the\ headers\.\ ------)
сразу отлавливавает на ура...
-
@bigorat Непонятно зачем пробелы экранировать..
Попробуй так, будешь получать всё, как ты и просил.A message that you sent could not be delivered to one or more of its recipients\. This is a permanent error\. The following address\(es\) failed:([\s\S]*)------ This is a copy of the message, including all the headers\. ------
А из полученных данных уже можно забирать мыло.
(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6})
Можно конечно сделать одну регулярку, но надёжнее в несколько этапов.
-
@bigorat Если убрать из твоей регулярки экранирование пробелов, то она тоже будет работать:
(?<=The following address\(es\) failed:)[\w\W]*?(?=------ This is a copy of the message, including all the headers\. ------)
-
@Fox, нет, те же яйца но в профиль, не работает, может я отлавливаю не так, может нужно не через "Первое вхождение"? Хотя на этом этапе парсинга списка мыл тоже не происходит что бы извлекать все данные...
-
@Fox said in Помогите с регуляркой:
Если убрать из твоей регулярки экранирование пробелов, то она тоже будет работать:
Нет, BAS ошибку бьет
SyntaxError: Invalid regular expression: unrecognized character after (? Номер строки:2 Во время выполнения скрипта { _sa(516294413); VAR_STRING_MATCHES = Boolean((VAR_SAVED_TEXT_PAGE).match(new RegExp("(?\u003c=The following address\u005c(es\u005c) failed:)[\u005cw\u005cW]*?(?=------ This is a copy of the message, including all the headers\u005c. ------)"))) section_start("test", 441185482,function(){ })}
-
@bigorat Дай по больше исходного кода, накидаю скрипт.
-
@Fox said in Помогите с регуляркой:
Дай по больше исходного кода, накидаю скрипт.
Да вот файл с сохраненным ответом, надо из него выпарсить между определенными частями email адреса
Млин, форум не дает файл воткнуть, на ЯД кинул https://yadi.sk/i/6hV9JF-b3MT8dm
-
@bigorat Немного замудрено, потому что не знаю исходных. Большой ли ответ, сколько раз будут повторятся данные и т.п.
Вот тестовый скрипт.
-
@Fox, короче твой вариант работает, разница в том, что почему то экшен "Извлечь все данные" такую регулярку принимает, а экшен "Первое вхождение" нифига, почему хз :( Теперь заработало, спасибо!
-
-
@Fox, спасибо, все же в BAS-е присутствует иногда что то мистическое, вплоть до перезагрузки проги, вышел, вошел и заработало :)