Бесплатно напишу регулярное выражение. Часть 2.

  • Автор темы Автор темы LightWood
  • Дата начала Дата начала
действительно, работает. Спасибо
 
Прикольно! Куда только макросы не вставляют)) Я думал, они в регекспах не работают...
 
для прокси чекера помогите с регуляркой.строка такая :
<TR>

<TD><SMALL>3</SMALL></TD>

<TD><SMALL>202.115.7.51</SMALL></TD>

<TD><SMALL>1080</SMALL></TD>

<TD><SMALL>2011-04-12 07:07:02</SMALL></TD>

<TD><SMALL>2011-02-25 11:57:06</SMALL></TD>

</TR>

<TR>

<TD><SMALL>4</SMALL></TD>

<TD><SMALL>109.230.217.103</SMALL></TD>

<TD><SMALL>1080</SMALL></TD>

<TD><SMALL>2011-04-12 07:05:06</SMALL></TD>

<TD><SMALL>2011-04-12 07:05:06</SMALL></TD>

</TR>
 
для прокси чекера помогите с регуляркой.строка такая :
<TR>

<TD><SMALL>3</SMALL></TD>

<TD><SMALL>202.115.7.51</SMALL></TD>

<TD><SMALL>1080</SMALL></TD>

<TD><SMALL>2011-04-12 07:07:02</SMALL></TD>

<TD><SMALL>2011-02-25 11:57:06</SMALL></TD>

</TR>

<TR>

<TD><SMALL>4</SMALL></TD>

<TD><SMALL>109.230.217.103</SMALL></TD>

<TD><SMALL>1080</SMALL></TD>

<TD><SMALL>2011-04-12 07:05:06</SMALL></TD>

<TD><SMALL>2011-04-12 07:05:06</SMALL></TD>

</TR>

В конструкторе регулярок есть кнопка с заготовкой IP адрес:
(\d{1,3}\.){3}\d{1,3}
 
В конструкторе регулярок есть кнопка с заготовкой IP адрес:
(\d{1,3}\.){3}\d{1,3}
Интересно как ты собрался таким образом получать IP адрес когда он разбросан по двум строкам?
 
Думаю реал решить какнибудь сапоставлением. Т.к. первое совпадение ипа соответствено первому совпадению порта.
 
есть regex для парсинга урл
(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?
как ограничить парсинг до одного варианта?
 
у тебя в редакторе макросов будет строка - номер совпадения .. соответсвенно указав 0 - ты получишь только первое совпадение ...
 
тут так и должно по 2 раза http:// с обеих сторон быть?
 
это защита от авторегистраторов такая у админов =)
Вот еще вопрос, как найти строку в которой отстутствует заданная подстрока? Есть список строк, который нужно очистить. В полезных строках есть идентификатор по которому можно найти эту строку, все остальные нужно удалить. Можно написать шаб на зено, но чтото мне подсказывает что должно быть все решаемо через поиск/замену в notepad++.

Upd: спарсил нужные строки в конструкторе регулярок в зено :)
 
Zlad, как понил урл не один. Дай кусок списка. чтобы понять за что можно цеплятся при составлении регулярки. Чтоб она была универсальней, если нужно.
 
помогите, вообщем есть такая регулярка (?<=\<div class\=link\>\<a class\=taggedlink href\=\").*(?=\"\>) ищет нужный урл на странице.... сайты на одном двиге, но при получении ДОМ страницы на некоторых сайтах div и a переходят в DIV и A.
И из-за этого по этой регулярки ниче не ищется.... Как сделать чтобы не учитывалась высота? Благодарю
 
помогите, вообщем есть такая регулярка (?<=\<div class\=link\>\<a class\=taggedlink href\=\").*(?=\"\>) ищет нужный урл на странице.... сайты на одном двиге, но при получении ДОМ страницы на некоторых сайтах div и a переходят в DIV и A.
И из-за этого по этой регулярки ниче не ищется.... Как сделать чтобы не учитывалась высота? Благодарю
при помощи макроса String.ToLower (перевод в нижний регистр) перевести весь код в нижний регистр.
 
  • Спасибо
Реакции: sergeevich
вот у меня парсится ссылка по такой регулярке (?<=\<div class\=\"link\"\>\<a href\=\").*?(?=\"\>) из такого текста <div class="link"><a href="http://eva-parfum.com.ua/index.php?"> .если попадается фраза которой нет в регулярке например
<div class="link"><noindex><a href="http://www.newmamacity.com/kalendar-beremennosti/pyatyj-mesyac/127.html"> то регулярка не подходит и ссылка не сохраняется. Как сделать так чтоб при встрече таких слов вначале или вконце регулярка все равно тащила ссылку?
 
вот у меня парсится ссылка по такой регулярке (?<=\<div class\=\"link\"\>\<a href\=\").*?(?=\"\>) из такого текста <div class="link"><a href="http://eva-parfum.com.ua/index.php?"> .если попадается фраза которой нет в регулярке например
<div class="link"><noindex><a href="http://www.newmamacity.com/kalendar-beremennosti/pyatyj-mesyac/127.html"> то регулярка не подходит и ссылка не сохраняется. Как сделать так чтоб при встрече таких слов вначале или вконце регулярка все равно тащила ссылку?
Можно предварительно привести все ссылки к общему виду, заменив макросом замены все <noindex> на пустую строку.
 
  • Спасибо
Реакции: sergeevich
помогите, вообщем есть такая регулярка (?<=\<div class\=link\>\<a class\=taggedlink href\=\").*(?=\"\>) ищет нужный урл на странице.... сайты на одном двиге, но при получении ДОМ страницы на некоторых сайтах div и a переходят в DIV и A.
И из-за этого по этой регулярки ниче не ищется.... Как сделать чтобы не учитывалась высота? Благодарю
вначале поставь(?i), т.е выходит так:
(?i)(?<=\<div class\=link\>\<a class\=taggedlink href\=\").*(?=\"\>)
 
  • Спасибо
Реакции: sergeevich
Есть хтмл код
<ul id="navlist">
<li><a href="http://***.chat.ru/runy.html">Руны</a></li><li><a href="http://***.chat.ru/orakul.html">Оракул</a></li><li><a href="http://***.chat.ru/ot-pavla-globy.html">От Павла Глобы</a></li><li></li>
</ul>
Как из него выпарсить строки со ссылкой (такие вот все <*a href="http://*****.chat.ru/ot-pavla-globy.html">От Павла Глобы</a>). Нужно выпарсить только ссылки на категории,тоесть чтобы в урле было не более одного слеша (не считая слэшы при http//).

И как организовать регулярку в шаблоне в сочетании с счетчиком,тоесть чтобы больше скажем 5 ссылок не выпарсивалось?
Спасибо :)
 
ничего не найдено при парсинге (
 
Есть код
<LI>
<H2><B>5</B><A class=n_title_5 href="http://www.realestate.ru/flatsalesearch.aspx" target=_blank>База <I>квартир</I> <I>в</I> <I>Москве</I>: продажа и <I>покупка</I> элитных и эконом <I>квартир</I>...</A></H2>
<P>Предоставление полной проверенной информации о ценах на <I>квартиры</I>, агентствах, где можно <I>купить</I> <I>квартиру</I> <I>в</I> <I>Москве</I>. <BR>Для поиска варианта <I>покупки</I> при работе с базой продажи элитных <I>квартир</I> <I>в</I> <I>Москве</I> вам необходимо выбрать сегмент поиска и указать...</P><SPAN>www.realestate.ru/flatsalesearch.aspx<A class="click n_saved_5" href="/saved?link=http%3A%2F%2Fwww.realestate.ru%2Fflatsalesearch.aspx&amp;text=%D0%BA%D1%83%D0%BF%D0%B8%D1%82%D1%8C%20%D0%BA%D0%B2%D0%B0%D1%80%D1%82%D0%B8%D1%80%D1%83%20%D0%B2%20%D0%BC%D0%BE%D1%81%D0%BA%D0%B2%D0%B5&amp;l10n=ru&amp;mime=html&amp;sign=5a8a574e1dd24f6e96bedc30a04d8f61&amp;keyno=0" target=_blank>копия</A><A class="click n_more_5" href="/srch?query=купить квартиру в москве&amp;filter=www.realestate.ru">на сайте</A></SPAN>
<LI>

нужна регулярка парсящая от <P>Предоставление до поиска и указать...</P><SPAN>. Заранее спасибо.
 
  • Спасибо
Реакции: Flashback
Нужно сделать универсальную регулярку, чтобы выпарсить адреса страниц, оканчивающиеся на .html . Вот примеры кода с разных сайтов
Код:
Развернуть Свернуть Копировать
 <div class="news-views-right"><a href="http://3load.net/knigi-zhurnaly/7641-chingiz-abdullaev-sobranie-sochinenij-149-knig.html#comment">Комментарии</a> [0]<del>|</del><a href="http://3load.net/knigi-zhurnaly/7641-chingiz-abdullaev-sobranie-sochinenij-149-knig.html">Чингиз Абдуллаев - Собрание сочинений (149 книг)</a> [0]</div>
и из такого
Код:
Развернуть Свернуть Копировать
<tr>
<td  width="70%" ><div id=cen11><img src="/templates/amx/images/img/5.png" align="absmiddle" width="13" height="13"> <a href="http://3dplaneta.net/foto/anal/104-dve-krali-trakhajutsja-s-parnem.html">Две крали трахаются с парнем!</a></div></td>
</td>
</tr>
Сделал вот такое выражение
Код:
Развернуть Свернуть Копировать
(?<=\<a href\=\")http:\/\/.*?\.html(?=\")
но оно с сайтов, где есть ссылки с хешем #comment не парсит.
 
Т.е. будет это выглядеть так:
(?<=\<a href\=\")http:\/\/.*?html
 
Последнее редактирование:
Т.е. будет это выглядеть так:
(?<=\<a href\=\")http:\/\/.*?html
этим выражением не получается выпарсить ссылки сэтой страницы
Код:
Развернуть Свернуть Копировать
  <div class="news-info">Опубликовал <a onclick="return dropdownmenu(this, event, UserNewsMenu('href=&quot;http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/&quot;', 'href=&quot;http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/news/&quot;','%C0%F0%F2%E5%EC', '0'), '170px')" onmouseout="delayhidemenu()" href="http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/">Артем</a>, 29-08-2010, 10:30 | <a href="http://4dleshka.msk.su/relizy/70-datalife-engine-v90-final-release.html#comment">Комментировать (136)</a> </div>

  <div class="news" title="Просмотов новости: 783">
  <h2><a href="http://4dleshka.msk.su/xaki/">Хаки</a> &darr; <span><a href="http://4dleshka.msk.su/xaki/68-attachment-advance-zashhita-ssylok-pod-hide.html">Attachment advance - защита ссылок под hide</a> </span></h2>

  <div class="text">
    <div id='news-id-68'>Предназначен для защиты ссылок под HIDE-ом.<br /><br />Более продвинутая и легкая система изменения атача.<br />- установка в 3 действия<br />- не требует внесения изменений в БД<br />- поддерживает старые аттачи</div>
    
    <div class="read-full"><a href="http://4dleshka.msk.su/xaki/68-attachment-advance-zashhita-ssylok-pod-hide.html">Читать далее</a></div>
  </div>
  <div class="news-info">Опубликовал <a onclick="return dropdownmenu(this, event, UserNewsMenu('href=&quot;http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/&quot;', 'href=&quot;http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/news/&quot;','%C0%F0%F2%E5%EC', '0'), '170px')" onmouseout="delayhidemenu()" href="http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/">Артем</a>, 1-08-2010, 23:14 | <a href="http://4dleshka.msk.su/xaki/68-attachment-advance-zashhita-ssylok-pod-hide.html#comment">Комментировать (47)</a> </div>

<div class="news" title="Просмотов новости: 775">
  <h2><a href="http://4dleshka.msk.su/xaki/">Хаки</a> &darr; <span><a href="http://4dleshka.msk.su/xaki/67-ya-slezhu-za-toboj-username.html">Я слежу за тобой, %username%</a> </span></h2>

  <div class="text">
    <div id='news-id-67'>[хак] Я слежу за тобой, %username%<br /><br /> Не большой <s>мини</s> даже нано-хак в пару строчек для злодвига DLE.  Я и дальше буду выкладывать все что меня просят сделать, будь оно даже самое маленькое. Определенная полезность в этом есть.</div>
    
    <div class="read-full"><a href="http://4dleshka.msk.su/xaki/67-ya-slezhu-za-toboj-username.html">Читать далее</a></div>
  </div>
  <div class="news-info">Опубликовал <a onclick="return dropdownmenu(this, event, UserNewsMenu('href=&quot;http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/&quot;', 'href=&quot;http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/news/&quot;','%C0%F0%F2%E5%EC', '0'), '170px')" onmouseout="delayhidemenu()" href="http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/">Артем</a>, 1-08-2010, 23:11 | <a href="http://4dleshka.msk.su/xaki/67-ya-slezhu-za-toboj-username.html#comment">Комментировать (40)</a> </div>

  
</div>
<div class="news" title="Просмотов новости: 801">
  <h2><a href="http://4dleshka.msk.su/xaki/">Хаки</a> &darr; <span><a href="http://4dleshka.msk.su/xaki/66-avtomaticheskoe-skrytie-ssylok-v-dle-parametrom-hide-.html">Автоматическое скрытие ссылок в DLE параметром -hide-</a> </span></h2>
  
</div>
<div class="news" title="Просмотов новости: 759">
  <h2><a href="http://4dleshka.msk.su/shablony/">Шаблоны</a> &darr; <span><a href="http://4dleshka.msk.su/shablony/60-rip-sajta-videopassion.html">Рип сайта videopassion</a> </span></h2>

    <div class="news-info">Опубликовал <a onclick="return dropdownmenu(this, event, UserNewsMenu('href=&quot;http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/&quot;', 'href=&quot;http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/news/&quot;','%C0%F0%F2%E5%EC', '0'), '170px')" onmouseout="delayhidemenu()" href="http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/">Артем</a>, 27-07-2010, 17:12 | <a href="http://4dleshka.msk.su/shablony/60-rip-sajta-videopassion.html#comment">Комментировать (39)</a> </div>

  <div class="news" title="Просмотов новости: 789">
  <h2><a href="http://4dleshka.msk.su/shablony/">Шаблоны</a> &darr; <span><a href="http://4dleshka.msk.su/shablony/59-shablon-vipsite.html">Шаблон - VipSite</a> </span></h2>

  <div class="text">
    <div id='news-id-59'><div align="center"><!--TBegin--><a href="http://4dleshka.msk.su/uploads/posts/2010-07/1280236307_1278488292_394b34a1a64f.jpg" onclick="return hs.expand(this)" ><img src="http://4dleshka.msk.su/uploads/posts/2010-07/thumbs/1280236307_1278488292_394b34a1a64f.jpg" alt='Шаблон - VipSite' title='Шаблон - VipSite'  /></a><!--TEnd--></div><br />Тип шаблона: Rip<br />Автор рипа: Evil Raven<br />Автор дизайна: CentroArts</div>
    
    <div class="read-full"><a href="http://4dleshka.msk.su/shablony/59-shablon-vipsite.html">Читать далее</a></div>
  </div>
  <div class="news-info">Опубликовал <a onclick="return dropdownmenu(this, event, UserNewsMenu('href=&quot;http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/&quot;', 'href=&quot;http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/news/&quot;','%C0%F0%F2%E5%EC', '0'), '170px')" onmouseout="delayhidemenu()" href="http://4dleshka.msk.su/user/%C0%F0%F2%E5%EC/">Артем</a>, 27-07-2010, 17:11 | <a href="http://4dleshka.msk.su/shablony/59-shablon-vipsite.html#comment">Комментировать (42)</a> </div>
нужно, чтобы парсило только ссылки на новости,
Этим выражением парсит так:
Код:
Развернуть Свернуть Копировать
----------------------------------- совпадение № 0 -----------------------------------
http://4dleshka.msk.su/relizy/">Релизы</a> &darr; <span><a href="http://4dleshka.msk.su/relizy/70-datalife-engine-v90-final-release.html
----------------------------------- совпадение № 1 -----------------------------------
http://4dleshka.msk.su/relizy/70-datalife-engine-v90-final-release.html
----------------------------------- совпадение № 2 -----------------------------------
http://4dleshka.msk.su/relizy/70-datalife-engine-v90-final-release.html
----------------------------------- совпадение № 3 -----------------------------------
http://4dleshka.msk.su/xaki/">Хаки</a> &darr; <span><a href="http://4dleshka.msk.su/xaki/69-integraciya-uppod-pleera-v-dle-vse-dlya-dle.html
----------------------------------- совпадение № 4 -----------------------------------
http://4dleshka.msk.su/xaki/69-integraciya-uppod-pleera-v-dle-vse-dlya-dle.html
----------------------------------- совпадение № 5 -----------------------------------
http://4dleshka.msk.su/xaki/69-integraciya-uppod-pleera-v-dle-vse-dlya-dle.html
----------------------------------- совпадение № 6 -----------------------------------
http://4dleshka.msk.su/xaki/">Хаки</a> &darr; <span><a href="http://4dleshka.msk.su/xaki/68-attachment-advance-zashhita-ssylok-pod-hide.html
 
russian, Лови
((http):\/\/4dleshka\.msk\.su([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])-(.*?).html)
(c) CSS

Вообще рекомендую с такими вещами работать через DOM.
 
Последнее редактирование:
  • Спасибо
Реакции: russian
CSS, вы меня не правильно поняли, мне нужно выражение, которое спарсит ссылки не только с этого сайта, но и с других сайтов на движке dle.
Под конкретный сайт я бы сам сделал, но мне нужно универсальное выражение.
 
Есть файл в котором много рецептов в таком виде:
--------------------------------------------------------------------------------------
<p class=MsoNormal style='text-align:justify;text-indent:27.5pt;mso-hyphenate:
none;mso-layout-grid-align:none;text-autospace:none'><span style='font-size:
10.0pt'>152. Маринованный виноград. Отберите лучшие гроздья сортов винограда
Сенсо, Катта Курган, Карабарну, Италия, Победа, промойте их в чистой, питьевой
воде, удалите зараженные и испорченные ягоды. Виноград уложить в 10 л бутыль с
широкой горловиной. Маринад готовится так: в эмалированную посуду закладываются
кисти винограда. На 1 кг винограда вносится 400 мл воды (2 стакана), 0,75
стакана 3% уксуса, 200 г (1 стакан) сахарного песка, 5-8 г соли (чайную
ложечку), и по 2-3 г пряностей: гвоздики, кардамона, корицы, бадьяна.
Прокипятите смесь 15 минут, а затем добавьте в неё 1 г салициловой кислоты
(консерватор). Залейте маринад в бутыль, закройте герметично металлической
крышкой. Хранить маринованный виноград в подвале при 12-15 С.<o:p></o:p></span></p>

<p class=MsoNormal style='text-align:justify;text-indent:27.5pt;mso-hyphenate:
none;mso-layout-grid-align:none;text-autospace:none'><span style='font-size:
10.0pt'>153. Виноградное варенье по-донбасски. Подготавливают крупноплодные
сорта винограда: Мускат александрийский, Чауш, Хусейне, Карабурну, Королева
виноградников, Дружба, Молдова, Одесский чёрный и др. Ягоды осторожно, не
повреждая, отжедяют от гребней и моют в холодной питьевой воде. На 1 кг ягод
ложат 500 г сахара и 100 мл заливают воды. В горячий сироп, снятый для отдыха
на 30 мин., кладут ягоды и варят в течение 15-20 мин. Посуду с ягодами надо
периодически и осторожно встряхивать до полного погружения ягод в сироп (ложкой
мешать нельзя, иначе ягоды потеряют форму). Потом посуду с полуфабрикатом
снимают с огня и дают остыть в течение 30 минут. После этого варку продолжают
на медленном огне до полной готовности (капля варенья, выливая на блюдечко, не
расплывается).<o:p></o:p></span></p>
-------------------------------------------------------------------------------------
Подскажите ,как лучше это привести в такой вид:
---------------------------------------------------
Маринованный виноград.
Отберите лучшие гроздья сортов винограда Сенсо, Катта Курган, Карабарну, Италия, Победа, промойте их в чистой, питьевой воде, удалите зараженные и испорченные ягоды. Виноград уложить в 10 л бутыль с широкой горловиной. Маринад готовится так: в эмалированную посуду закладываются кисти винограда. На 1 кг винограда вносится 400 мл воды (2 стакана), 0,75 стакана 3% уксуса, 200 г (1 стакан) сахарного песка, 5-8 г соли (чайную ложечку), и по 2-3 г пряностей: гвоздики, кардамона, корицы, бадьяна. Прокипятите смесь 15 минут, а затем добавьте в неё 1 г салициловой кислоты (консерватор). Залейте маринад в бутыль, закройте герметично металлической крышкой. Хранить маринованный виноград в подвале при 12-15 С.

Виноградное варенье по-донбасски.
Подготавливают крупноплодные сорта винограда: Мускат александрийский, Чауш, Хусейне, Карабурну, Королева виноградников, Дружба, Молдова, Одесский чёрный и др. Ягоды осторожно, не повреждая, отжедяют от гребней и моют в холодной питьевой воде. На 1 кг ягод ложат 500 г сахара и 100 мл заливают воды. В горячий сироп, снятый для отдыха на 30 мин., кладут ягоды и варят в течение 15-20 мин. Посуду с ягодами надо периодически и осторожно встряхивать до полного погружения ягод в сироп (ложкой мешать нельзя, иначе ягоды потеряют форму). Потом посуду с полуфабрикатом снимают с огня и дают остыть в течение 30 минут. После этого варку продолжают на медленном огне до полной готовности (капля варенья, выливая на блюдечко, не расплывается).
 

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