Главная /
Регулярные выражения 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*['"]?([^'"]+)#is
Сложность вопроса
59
Сложность курса: Регулярные выражения Perl и их применение
87
Оценить вопрос
Комментарии:
Аноним
Очень сложные тесты
17 фев 2017
Аноним
Это очень нехитрый вопрос по интуиту.
04 май 2016
Другие ответы на вопросы из темы программирование интуит.
- # Какое значение будет иметь переменная $1 в результате работы оператора 'abc123' =~ /\w+?(?=(\d+?))/?
- # Какое значение получит переменная $1 в результате работы программы "abc\n" =~ /\w\Z(.)\z/s?
- # Какое значение получит переменная $1 в результате работы программы "abc123" =~ /(123|abc$)/?
- # Что выйдет на печать в результате работы программы $_="123!abc!"; /\G\w+(?{ print pos $_ })!/g?
- # Какое значение получит переменная $1 в результате работы программы $_="123!abc!"; /\w+/g; /(\w+)/g?