Perl LWP Найти ссылки на странице, которые содержат определенное слово
Я действительно застрял. Я использую LWP. Я хочу вставить конкретные ссылки из HTML-документа в массив. Но:
while ($edocument =~ m/href\s*=\s*"([^"\s]+)"/gi) {
#dostuff
}
Обработаем все ссылки. Я просто хочу ссылки, которые имеют слово "тест" в URL.
Я пробовал все виды комбинаций, как. (слишком много попыток перечислить)
while ($edocument =~ m/href\s*=\s*"([^"\s*test*]+)"/gi) {
Я читал и читал, и мне действительно нужна подсказка для этой неловкой ситуации.
Может кто-нибудь помочь?
Кроме того, мне нужно только одно совпадение слова теста в $edocument
также. Вроде как last
Я думаю, в цикле.
Также пробовал вариации
@links = $edocument =~ m/<a[^>]+href\s*=\s*["']?([^"'> ]+)/ig;
Затем запустил @links через уникальный саб. Но все же просто нужны ссылки со словом "тест".
1 ответ
Как насчет следующего регулярного выражения:
while ($edocument =~ m/href\s*=\s*"([^"\s]+test[^"\s]+)"/gi) { #dostuff }
Это регулярное выражение сопоставляет только URL с проверкой подстроки в нем.