HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Perl регулярка
  #1  
Старый 13.04.2007, 18:20
demonoid
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме:
4094601

Репутация: 495
По умолчанию Perl регулярка

Код:
<td><a href="/users/1456036/"id="good">Username</a></td>
Требуется через регулятивное выражение считать *1456036* в переменную.
читал по этому поводу мануалы,мало-чего понял
Посоветуйте литературу.

Последний раз редактировалось demonoid; 13.04.2007 в 18:24.. Причина: Ошибки в правописании :)
 
Ответить с цитированием

  #2  
Старый 13.04.2007, 18:37
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме:
1985206

Репутация: 963


По умолчанию

my $str = '<td><a href="/users/1456036/"id="good">Username</a></td>';
$str =~ /(\d+)/;
print $1;
 
Ответить с цитированием

  #3  
Старый 13.04.2007, 18:47
flipper
Участник форума
Регистрация: 05.09.2006
Сообщений: 184
Провел на форуме:
888851

Репутация: 203
По умолчанию

$a=~/<a href="\/users\/(\d*)\/"/;
 
Ответить с цитированием

  #4  
Старый 13.04.2007, 18:58
demonoid
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме:
4094601

Репутация: 495
По умолчанию

Цитата:
Сообщение от flipper  
$a=~/<a href="\/users\/(\d*)\/"/;
А если на странице много форм
Код:
<td><a href="/users/1456031/"id="good">Username</a></td>;
<td><a href="/users/1456032/"id="good">Username</a></td>;
<td><a href="/users/1456033/"id="good">Username</a></td>;
И каждую нада записать впеременную?

Последний раз редактировалось demonoid; 13.04.2007 в 19:10..
 
Ответить с цитированием

  #5  
Старый 13.04.2007, 19:07
flipper
Участник форума
Регистрация: 05.09.2006
Сообщений: 184
Провел на форуме:
888851

Репутация: 203
По умолчанию

Писал исходя из личного опыта, но могу порекомендовать заглянуть в избарнное->books там видел хорошие книжки по perl'у
 
Ответить с цитированием

  #6  
Старый 13.04.2007, 19:48
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме:
1985206

Репутация: 963


По умолчанию

Цитата:
$a=~/<a href="\/users\/(\d*)\/"/;
Ну и на кой ляд стока лишнего?

При условии, что сорец страницы находится в $source:
Код:
my @digits = $str =~ /\d+/g;
 
Ответить с цитированием

  #7  
Старый 13.04.2007, 19:56
demonoid
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме:
4094601

Репутация: 495
По умолчанию

Ох нада было сразу сказать вам всю правду !
Пытаюсь ник граббер зделать
Вот кусок страницы

Код:
.........................................................
          </tr>
<tr  class="caption_bg">
        <td><a href="/album/1447593/" id="girl">╬ы№ур</a></td>


        <td>╙ъЁршэр, ╩шхт</td>
        <td>56</td>
        <td>ыхт</td>
        <td><span class="larger">-</span></td>
        <td><span class="larger">-</span></td>
</tr>
<tr  class="caption">
        <td><a href="/album/1454793/" id="girl">╩рЄ*</a></td>

        <td>╙ъЁршэр, ╩шхт</td>
        <td>17</td>
        <td>ёъюЁяшюэ</td>
        <td><span class="larger">-</span></td>
        <td><span class="larger">-</span></td>
</tr>
<tr  class="caption_bg">
        <td><a href="/album/1456036/" id="girl">└ышэр</a></td>


        <td>╙ъЁршэр, ╩шхт</td>
        <td>13</td>
        <td>ыхт</td>
        <td><span class="larger">+</span></td>
        <td><span class="larger">-</span></td>
</tr>
....................
Надо эти значения-*1456036*,*1454793*,*1447593*- записать в файл.
 
Ответить с цитированием

  #8  
Старый 13.04.2007, 20:09
demonoid
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме:
4094601

Репутация: 495
По умолчанию

Извяюсь шо заебав больше не буду
 
Ответить с цитированием

  #9  
Старый 13.04.2007, 20:15
genom--
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме:
1948091

Репутация: 1686


По умолчанию

вообщем делай сначала так $ans=~s/<[^<a href=]+>//ig; -- поидее должно снести все теги кроме <a href="/album/1454793/" id="girl">

а дальше уже как было показано выше только в цикле
 
Ответить с цитированием

  #10  
Старый 13.04.2007, 20:32
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме:
1985206

Репутация: 963


По умолчанию

да на*** вы чето в регесп суете, если человек говорит, что ему тупо надо числа эти в файл забросить?

Код:
# $html - тут сорец страницы
my @nums = $html =~ /\d+/g;
open(OUT, '>', 'out.txt') || die $!;
print OUT join("\n", @nums);
close OUT;
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Иллюстрированный самоучитель по Perl system_32 PHP 0 14.03.2007 08:01
Опасность ошибок Perl недооценивалась? 1251soldier Мировые новости. Обсуждения. 0 01.12.2005 20:56
Books Perl FRAGNATIC PHP 0 11.08.2005 16:58



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ