Главная /
Регулярные выражения 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\s+href\s*=\s*['"]?([^'">\s]+)#i
$base=$1 if m#<head[^>]*>(?>(?!<base|</head).)+<base\s+href\s*=\s*['"]?([^'">\s]+)#is
$base=$1 if m#<head[^>]*>(?>(?!<base).)+<base\s+href\s*=\s*['"]?([^'">\s]+)#is
Сложность вопроса
95
Сложность курса: Регулярные выражения Perl и их применение
87
Оценить вопрос
Комментарии:
Аноним
Если бы не опубликованные подсказки - я бы не справился c этими тестами intuit.
30 апр 2018
Аноним
Спасибо за гдз по интуит.
17 сен 2017
Другие ответы на вопросы из темы программирование интуит.
- # В тексте надо захватить в $1 фрагмент от предпоследних до последних кавычек. Какие операторы делают это правильно?
- # Какое значение получит переменная $a в результате работы программыmy $a; 'abc' =~ /(\w+(\w))(?{ $a=$+ })/;
- # Что будет напечатано в результате работы оператораprint join '-', split /^/, "ab\nbc\nde";
- # Какое значение получит переменная $_ в результате работы программы $_="123"; s//!/g?
- # Дан текст:$_=<<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 Какие операторы правильно печатают обе ссылки?