ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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, PERL, MySQL, JavaScript 0 14.03.2007 08:01
Опасность ошибок Perl недооценивалась? 1251soldier Мировые новости 0 01.12.2005 20:56
Books Perl FRAGNATIC PHP, PERL, MySQL, JavaScript 0 11.08.2005 16:58
Безопасность приложений на Perl k00p3r Чужие Статьи 0 12.06.2005 09:39



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


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




ANTICHAT.XYZ