База ответов ИНТУИТ

Регулярные выражения Perl и их применение

<<- Назад к вопросам

В переменной $_ находится 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).)+<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\s+href\s*=\s*['"]?([^'">\s]+)#i
Похожие вопросы
В переменной $_ находится HTML-страница. Надо проверить, есть ли у этой страницы часть head, и если есть, то есть ли внутри контейнера <head> </head> тег <base href="…">. Если он есть, то переменной $base надо присвоить этот URL из части head документа. Если в head нет тега base, то ничего делать не надо. Пример текста страницы:
<html><head><title>Title</title><base href="http://www.intuit.ru/download"></head>…
Какие операторы делают это корректно, учитывая разное оформление тегов веб-мастерами?
В переменной $_ находится HTML-страница. Надо проверить, есть ли у этой страницы часть head, и если есть, то есть ли внутри контейнера <head> </head> тег <base href="…">. Если он есть, то переменной $base надо присвоить этот URL из части head документа. Если в head нет тега base, то ничего делать не надо. Пример текста страницы:
<html><head><title>Title</title><base href="http://www.intuit.ru/download"></head>…
Какие операторы делают это корректно, учитывая разное оформление тегов веб-мастерами?
В тексте есть телефонный номер. Примеры номеров: +7 495 9569214, (834-35)4-34-35, 3-45-56. Надо захватить в $1 этот номер. Какие операторы делают это правильно?
Имеется примерно такой текст: $_='XXXXX5', где сначала идут n символов X, а за ними число n. Какие регулярные выражения соответствуют всему этому тексту?
Имеется примерно такой текст: $_='5XXXXX', где сначала идет число n и за ним n символов X. Какие регулярные выражения соответствуют всему этому тексту?
Имеется примерно такой текст: $_='5XXXXX', где сначала идет число n и за ним n символов X. Какие регулярные выражения соответствуют всему этому тексту?
В тексте есть число, которое может быть целым, а может иметь точку (в этом случае обязательна дробная часть). Число может стоять в конце предложения, и поэтому за ним может быть точка. Предполагаем, что в тексте нет таких конструкций, как дата 2006.12.26, которую можно было бы спутать с дробным числом. Примеры чисел: +1, -2.5, -.010. Надо захватить в $1 первое такое число. Какие операторы делают это правильно?
Какое значение будет иметь переменная $1 в результате работы оператора 'abc123' =~ /\w+?((?!\d+?))/, если известно, что это не undefined?
Нужно захватить в $1 и $2 первые два целых числа из текста, которые там имеются. Какие операторы делают это правильно?
В тексте по ошибке автора встречаются удвоения слов, например: "I write write a letter". Это надо исправить, чтобы получилось "I write a letter". Какие операторы делают это правильно?