Вопрос по Регулярным выражениям

Miller7

Пользователь
Регистрация
06.01.2015
Сообщения
51
Благодарностей
3
Баллы
8
Подскажите, как чистить регулярками ссылку, а то я в них вообще не разбираюсь, в процессе подтверждения почты, саму ссылку в переменную вставляет, но в конце ссылки появляеться вот это:
Код:
" style="width:212px;height:23px;display:inline-block;margin-left:auto; margin-right:auto;background-color:#3873cb;border:5px solid #3873cb;line-height:24px;font-family:Verdana;text-align:center;text-decoration:none;font-size:14px;color:#ffffff"><strong>Активировать</strong></a></p>
(https):confirm\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%:/~\+#]*[\w\-\@?^=%&amp;/~\+#])
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 225
Баллы
113
Подскажите, как чистить регулярками ссылку...
Вам надо не чистить результат, а получать только саму ссылку при помощи регулярного выражения.
Например, в коде ссылка может выглядеть так: href="http://www.google.com" и раз у нас есть вполне четкие границы: href=" и ", то ничто не мешает извлекать всю ссылку.
Код:
(?<=href=").*?(?=")
Среди конкурсных статей была одна по поводу регулярных выражений. Для начала этого будет вполне достаточно.
 
  • Спасибо
Реакции: Miller7

Miller7

Пользователь
Регистрация
06.01.2015
Сообщения
51
Благодарностей
3
Баллы
8
Всеравно не вышло, положило ссылку вот такого вида
HTML:
http://olx.ua/post-new-ad/confirm/hS5HE/?action=confirm&id=264089350&track[new_ad]=1&utm_source=serviceletterConfirmAd&utm_medium=email&utm_campaign=link_activate&message_id=1#xtor=EREC-53-[id1]-20160116-[link_activate]-42739742@1-20160116005740" style="width:212px;height:23px;display:inline-block;margin-left:auto; margin-right:auto;background-color:%233873cb;border:5px solid %233873cb;line-height:24px;font-family:Verdana;text-align:center;text-decoration:none;font-size:14px;color:%23ffffff"><strong>Активировать</strong></a></p>
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 116
Баллы
113
zortexx предложил правильную регулярку, странно, что у вас не срабатывает. Попробуйте еще такой вариант:
Код:
(?<=href=").*(?="\ )
 
  • Спасибо
Реакции: Miller7

Miller7

Пользователь
Регистрация
06.01.2015
Сообщения
51
Благодарностей
3
Баллы
8
Благодарю!
 

Miller7

Пользователь
Регистрация
06.01.2015
Сообщения
51
Благодарностей
3
Баллы
8
Ошибка, взяло похожую ссылку, но не ту что нужно, нужна была
Код:
https://ssl.olx.ua/post-new-ad/confirm/hSAv4/?action=confirm&id=264207796&track%5Bnew_ad%5D=1&alog=da21%3AzfDGVaDlSj3G26OtAOiumw%7E%7E&utm_source=serviceletterConfirmAd&utm_medium=email&utm_campaign=link_activate#xtor=EREC-53-[id1]-20160116-[link_activate]-42739742@1-20160116160507
А в переменную записало вот эту:
Код:
http://olx.ua/contact/?m_souturce=serviceletterConfirmAd&utm_medium=email&utm_campaign=contactLink#xtor=EREC-53-[id1]-20160116-[contactLink]-42739742@1-20160116160507
+ там еще похожая ссылка, как регуляркой правильно выбрать, ведь они частично похожи...
 

Miller7

Пользователь
Регистрация
06.01.2015
Сообщения
51
Благодарностей
3
Баллы
8
Т.е. если понял нужно подставить (?i)\bpost.*?(?=\W|\ |\r|\n|$) и куда как должно выглядеть?
 

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