Главная /
Регулярные выражения Perl и их применение /
В переменной $_ находится HTML-страница. Надо проверить, есть ли у этой страницы часть head, и если есть, то есть ли внутри контейнера <head> </head> тег <base href="…">. Если он есть, то переменной $base надо присвоить этот URL из части
В переменной $_
находится HTML-страница. Надо проверить, есть ли у этой страницы часть head
, и если есть, то есть ли внутри контейнера <head> </head>
тег <base href="…">
. Если он есть, то переменной $base
надо присвоить этот URL из части head
документа. Если в head
нет тега base
, то ничего делать не надо. Пример текста страницы:<html>
<head>
<title>Title</title>
<base href="http://www.intuit.ru/download">
</head>
…
Какие операторы делают это корректно, учитывая разное оформление тегов веб-мастерами?
вопрос
Правильный ответ:
$base=$1 if m#<head[^>]*>(?>(?!<base|</head).)+<base\s+href\s*=\s*['"]([^'">\s]+)#is
$base=$1 if m#<head[^>]*>(?>(?!<base|</head).)+<base\s+href\s*=\s*['"]?(?:[^'">\s]+)#is
$base=$1 if m#<head[^>]*>(?>(?!<base|</head).)+<base\s+href\s*=\s*['"]?([^'">\s]+)#is
Сложность вопроса
83
Сложность курса: Регулярные выражения Perl и их применение
87
Оценить вопрос
Комментарии:
Аноним
Экзамен сдан на пять. Спасибо сайту
13 апр 2020
Аноним
Я сотрудник деканата! Прямо сейчас уничтожьте сайт и ответы интуит. Пишу жалобу
14 авг 2018
Другие ответы на вопросы из темы программирование интуит.
- # Что будет напечатано в результате работы программы'123' =~ /(\d+)/; { '456' =~ /(\d+)/ } print $1;?
- # Какое значение получит переменная $1 в результате работы программыmy $re=qr/(\d)+/; '123' =~ $re; '456' =~ //;
- # Что выйдет на печать в результате работы программы $_="123!abc!"; pos($_)=4; print /\A(\w+)!/g?
- # Какое значение получит переменная $_ в результате работы программы $_='abc123'; my $a='\d+'; s/$a/!/?
- # Дан текст:$_=<<EOD; <a href='javascript:void(window.open("http://intuit.ru/book.html","","width=480,height=320"))'>Book</a><br> <a href="http://intuit.ru/index.html">index</a> EOD Какие операторы правильно печатают обе ссылки?