LINUX.ORG.RU

Помогите с регуляркой

 


0

1
<td style="border-color : white; border-style : solid;"><A href="/30">����438.jpg</A></td>


Нужно вынуть то, что после href=, тоесть «/30».
А то у меня всякий бред получается, и то что нужны достать не могу. Зарание спасибо.

use Mojo::Base -strict;
use Mojo::DOM;

my $d = Mojo::DOM->new(q{
    <td style="border-color : white; border-style : solid;">
        <A href="/30">����438.jpg</A>
    </td>
});

say $d->find('a')->first->attr('href');
outtaspace ★★★
()
Ответ на: комментарий от CrossFire

Установлен. Но было желание с помощью sed это сделать.

daniilArch ★★
() автор топика
Ответ на: комментарий от outtaspace

Но было желание с помощью sed это сделать.

Без участия перла.

daniilArch ★★
() автор топика
echo '<td style="border-color : white; border-style : solid;"><A href="/30">����438.jpg</A></td>' | grep -oE "href=\"(.*[^\"]+)\"" | sed "s:.*\"\(.*\)\":\1:g"

На на перле или питоне это выглядело бы куда изящнее.

r3lgar ★★★★★
()
$ echo '<td style="border-color : white; border-style : solid;"><A href="/30">����438.jpg</A></td>' | html2 | grep a/@href | cut -d= -f2
/30
htop
()
Ответ на: комментарий от htop

Решил так:

NUM=$(curl http://www.fayloobmennik.net/files/list.html -silent \
        | sed -n 119p \
        | grep -o '<A .*href=.*>' \
        | sed -e 's/<A href="//g' \
        | sed -e 's/">//g')

Если этот тот кусок кода, а то я уже сдал этот скрипт.

daniilArch ★★
() автор топика
Ответ на: комментарий от daniilArch

Не вини его, не каждая птица долетит до середина Днепра вдоль каждому дано осилить man grep, такова жизнь

zolden ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.