Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

13.04.2007, 18:20
|
|
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..
Причина: Ошибки в правописании :)
|
|
|

13.04.2007, 18:37
|
|
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме: 1985206
Репутация:
963
|
|
my $str = '<td><a href="/users/1456036/"id="good">Username</a></td>';
$str =~ /(\d+)/;
print $1;
|
|
|

13.04.2007, 18:47
|
|
Участник форума
Регистрация: 05.09.2006
Сообщений: 184
Провел на форуме: 888851
Репутация:
203
|
|
$a=~/<a href="\/users\/(\d*)\/"/;
|
|
|

13.04.2007, 18:58
|
|
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..
|
|
|

13.04.2007, 19:07
|
|
Участник форума
Регистрация: 05.09.2006
Сообщений: 184
Провел на форуме: 888851
Репутация:
203
|
|
Писал исходя из личного опыта, но могу порекомендовать заглянуть в избарнное->books там видел хорошие книжки по perl'у
|
|
|

13.04.2007, 19:48
|
|
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме: 1985206
Репутация:
963
|
|
$a=~/<a href="\/users\/(\d*)\/"/;
Ну и на кой ляд стока лишнего?
При условии, что сорец страницы находится в $source:
Код:
my @digits = $str =~ /\d+/g;
|
|
|

13.04.2007, 19:56
|
|
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*- записать в файл.
|
|
|

13.04.2007, 20:09
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
Извяюсь шо заебав  больше не буду
|
|
|

13.04.2007, 20:15
|
|
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме: 1948091
Репутация:
1686
|
|
вообщем делай сначала так $ans=~s/<[^<a href=]+>//ig; -- поидее должно снести все теги кроме <a href="/album/1454793/" id="girl">
а дальше уже как было показано выше только в цикле
|
|
|

13.04.2007, 20:32
|
|
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме: 1985206
Репутация:
963
|
|
да на*** вы чето в регесп суете, если человек говорит, что ему тупо надо числа эти в файл забросить?
Код:
# $html - тут сорец страницы
my @nums = $html =~ /\d+/g;
open(OUT, '>', 'out.txt') || die $!;
print OUT join("\n", @nums);
close OUT;
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|