игра брюс 2048
Главная / Программирование / Язык программирования PHP / Тест 13

Язык программирования PHP - тест 13

Упражнение 1:
Номер 1
У функции  preg_match следующий синтаксис: preg_match(pattern, string, [result, flags]). Функция preg_match осуществляет сопоставление регулярного выражения с некоторой строкой. Что она возвращает в качестве результата?

Ответ:

 (1) функция возвращает 0 или 1 в зависимости от того, удалось сопоставить образец или нет 

 (2) функция возвращает целое число от 0 до некоторого n в зависимости от количества сопоставлений регулярного выражения 

 (3) функция возвращает минимальную подстроку, с которой удалось сопоставить регулярное выражение 


Номер 2
У функции preg_match_all следующий синтаксис preg_match_all(pattern, string, result, [flags]).  Функция preg_match_all осуществляет сопоставление регулярного выражения с некоторой строкой. Что она возвращает в качестве результата?

Ответ:

 (1) функция возвращает 0 или 1 в зависимости от того, удалось или нет сопоставить образец 

 (2) функция возвращает целое число от 0 до некоторого n в зависимости от количества сопоставлений регулярного выражения 

 (3) функция возвращает минимальную подстроку, с которой удалось сопоставить регулярное выражение 


Упражнение 2:
Номер 1
Какова структура регулярного выражения?

Ответ:

 (1) общая структура регулярного выражения: шаблон, выделенный с помощью специального символа разделителя, модификатор, влияющий на способ обработки регулярного выражения 

 (2) общая структура регулярного выражения: шаблон, выделенный с помощью специального символа разделителя 

 (3) общая структура регулярного выражения: шаблон, заключенный в круглые скобки, и функция для его обработки 


Номер 2
Каково назначение метасимволов в регулярном выражении?

Ответ:

 (1) метасимволы предназначены для того, чтобы кодировать альтернативы и повторения 

 (2) метасимволы предназначены для описания информации о символах 

 (3) метасимволы предназначены для того, чтобы закодировать непечатные символы 


Номер 3
Каково назначение  метасимвола обратный слэш ("\")?

Ответ:

 (1) он меняет тип символа, следующего за ним, на противоположный, т.е. если это был обычный символ, то он может превратиться в метасимвол. Если это был метасимвол, то он теряет свое специальное значение и становится обычным символом. 

 (2)

назначение обратного слэша – кодирование непечатных символов, таких как

\n - cимвол перевода строки;

\e - символ escape;

\t - cимвол табуляции и т.д.

 

 (3)

назначение обратного слэша – обозначение генерируемых символьных типов, таких как

\d - любая десятичная цифра (0-9);

\D – любой символ, не являющийся десятичной цифрой;

\s – любой пустой символ (пробел или табуляция) и др.

 


Упражнение 3:
Номер 1
Каково назначение метасимвола "^"?

Ответ:

 (1) отрицание класса, но только если это первый символ 

 (2) задает диапазон символов 

 (3) вычисляет символьный класс 

 (4) обозначает начало строки 


Номер 2
Назначение метасимвола "-"?

Ответ:

 (1) отрицание класса, но только если это первый символ 

 (2) задает диапазон символов 

 (3) вычисляет символьный класс 


Номер 3
Назначение метасимвола "]" ?

Ответ:

 (1) отрицание класса, но только если это первый символ 

 (2) задает диапазон символов 

 (3) вычисляет символьный класс 


Упражнение 4:
Номер 1
С помощью каких метасимволов выделяется начало подшаблона и его конец?

Ответ:

 (1) [] 

 (2) () 

 (3) {} 


Номер 2
Что такое квантификаторы?

Ответ:

 (1) метасимволы, задающие количественные отношения повторений 

 (2) метасимволы, которые определяют символьный класс 

 (3) метасимволы, которые определяют подшаблон 


Номер 3
За какими элементами могут следовать квантификаторы?

Ответ:

 (1) одиночный символ (возможно, в комбинации с обратным слэшем), метасимвол точка 

 (2) символьный класс, обратная ссылка, подшаблон 


Упражнение 5:
Номер 1
        

Что делает следующая функция?

function Test($str){ $pattern = "/\d{3}-\d{2}-\d{2}/m"; $num_match = preg_match_all ($pattern, $str, $result); return $num_match; }

Ответ:

 (1) возвращает число встреченных в строке семизначных комбинаций цифр, записанных в виде: три цифры, тире, две цифры, тире, две цифры 

 (2) возвращает 0 или 1 в зависимости от того, встречена ли в строке семизначная комбинация цифр, записанных в виде: три цифры, тире, две цифры, тире, две цифры 

 (3) возвращает число встреченных в строке семизначных комбинаций цифр, состоящих из цифр 3 и 2 


Номер 2
        

Что делает следующая функция?

function Test($str){ $pattern = "/\d{1,3}-\d{2}-\d{1}/m"; $num_match = preg_match ($pattern, $str, $result); return $num_match; }

Ответ:

 (1) возвращает число встреченных в строке комбинаций цифр, записанных в виде: от одной до трех цифр, тире, две цифры, тире, одна цифра 

 (2) возвращает 0 или 1 в зависимости от того, встречена ли в строке комбинация цифр, записанных в виде: от одной до трех цифр, тире, две цифры, тире, одна цифра 

 (3) возвращает число встреченных в строке комбинаций цифр, записанных в виде: 123-22-1 


Номер 3
        

Что делает следующая функция?

function Test1($str1){ $pattern = " /\d{3}$/"; $num_match = preg_replace($pattern, "aaa", $str1); return $num_match; }

Ответ:

 (1) заменяет первые встреченные три цифры в строке на «aaa» и возвращает true если замена сделана и false противном случае 

 (2) заменяет любые три цифры в строке на «aaa» и возвращает полученную строку, если замена была сделана или исходную строку, если совпадение не было найдено 

 (3) заменяет любые три цифры в конце строки на «aaa» и возвращает полученную строку, если замена была сделана или исходную строку, если совпадение не было найдено 

 (4) заменяет любые три цифры и идущий за ними знак «$» на «aaa» и возвращает полученную строку, если замена была сделана или исходную строку, если совпадение не было найдено 


Упражнение 6:
Номер 1
Написать функцию проверяющую, является ли строка правильным email-адресом в зонах с 2-мя или 3-мя буквами (например, .com или .ru)

Ответ:

 (1) <?php function ValidateEmail($str) { $pattern = "/^\w+(\.\w+)*@\w+(\.\w+)*\.\w{2,3}$/"; $num = preg_match($pattern, $str, $result); return $num; } ?>  

 (2) <?php function ValidateEmail($str) { $pattern = "/\w+([\.\w]+)*\w@\w((\.\w)*\w+)*\.\w{2,3}/"; $num = preg_match_all($pattern, $str, $result); return $num; } ?>  

 (3) <?php function ValidateEmail($str) { $pattern = "/^\w+@\w+\.\w{2,3}$/"; $num = preg_match($pattern, $str, $result); return $num; } ?>  


Номер 2
Написать функцию, выделяющую из строки содержимое всех html-тегов

Ответ:

 (1) function GetTags($str) { $res = preg_match_all ("/(<(\w+)[^>]*>)(.*)(<\/\\2>)/", $str, $matches); return $res; }  

 (2) function GetTags($str) { preg_match_all ("/(<([\w]+)[^>]*>)(.*)(<\/\w+>)/", $str, $matches); return $matches[0]; }  

 (3) function GetTags($str) { preg_match_all ("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/", $str, $matches); return $matches[0]; }  


Номер 3
Выделить из URL адреса ресурса имя хоста

Ответ:

 (1) <?php preg_match ("/^(http:\/\/)?([^\/]+)/i", "http://www.php.net/test/index.html", $matches); echo "Host:", $matches[2]; ?>  

 (2) <?php preg_match ("/^(http:\/\/)?([^\/]+)/i", "http://www.php.net/test/index.html", $matches); echo "Host:", $matches[0]; ?>  

 (3) <?php preg_match ("/^(http://)(\w+[^\/]+)/i", "http://www.php.net/test/index.html", $matches); echo "Host:", $matches[2]; ?>  




Главная / Программирование / Язык программирования PHP / Тест 13