игра брюс 2048
Главная / Программирование / Регулярные выражения Perl и их применение / Тест 12

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

Упражнение 1:
Номер 1
Какое значение получит переменная $1 после выполнения оператора'abc123def' =~ /(abc)(??{ '(\d+)' })/;

Ответ:

 (1) abc 

 (2) 123 

 (3) undefined 


Номер 2
Какое значение получит переменная $1 после выполнения оператора'abc123def' =~ /abc(??{ '(\d+)' })(def)/;

Ответ:

 (1) 123 

 (2) def 


Номер 3
Какое значение получит переменная $1 после выполнения оператора'abc123def' =~ /(abc(??{ '(\d+)' })def)/;

Ответ:

 (1) abc123 

 (2) 123 

 (3) undefined 


Упражнение 2:
Номер 1
Имеется примерно такой текст: $_='5XXXXX', где сначала идет число n и за ним n символов X. Какие регулярные выражения соответствуют всему этому тексту?

Ответ:

 (1) /(\d+)(??{ 'X' x $1 })/ 

 (2) '5XXXXX' =~ /(\d+)(??{ "X{$1}" })/ 

 (3) '5XXXXX' =~ /(\d+)(??{ 'X{$1}' })/ 


Номер 2
Имеется примерно такой текст: $_='XXXXX5', где сначала идут n символов X, а за ними число n. Какие регулярные выражения соответствуют всему этому тексту?

Ответ:

 (1) 'XXXXX5' =~ /(X+)(??{ length($1) })/ 

 (2) 'XXXXX5' =~ /(X+)(??{ 'length($1)' })/ 

 (3) 'XXXXX5' =~ /(X+)(??{ "length($1)" })/ 


Номер 3
Имеется примерно такой текст: $_='5XXXXX', где сначала идет число n и за ним n символов X. Какие регулярные выражения соответствуют всему этому тексту?

Ответ:

 (1) '5XXXXX' =~ /(\d+)(??{ 'X' x \1 })/ 

 (2) '5XXXXX' =~ /(\d+)(??{ 'X' x length($1) })/ 

 (3) '5XXXXX' =~ /(\d+)(??{ X{$1} })/ 


Упражнение 3:
Номер 1
Строка в $_ состоит из нескольких натуральных чисел, разделенных запятыми, числа строго возрастают. Например: $_='11,12,30'. Какие регулярные выражения соответствуют каждой такой строке?

Ответ:

 (1) /^(?:(?>(\d+))(??{ $n < $1 ? ',' : '(?!)' })(?{ $n=$1 }))+$/ 

 (2) /^(?:(?>(\d+))(??{ $n < $1 ? ',|$' : '(?!)' })(?{ $n=$1 }))+$/ 

 (3) /^(?:(?>(\d+))(??{ $n < $1 ? ',' : '(?!)' })(?{ $n=$1 }),)+$/ 


Номер 2
Строка в $_ состоит из нескольких натуральных чисел, разделенных запятыми, числа строго возрастают. Например: $_='11,12,30'. Какие регулярные выражения соответствуют каждой такой строке?

Ответ:

 (1) /^(?:(?>(\d+))(??{ $n < $1 ? ',|\z' : '(?!)' })(?{ $n=$1 }))+$/ 

 (2) /^(?:(?>(\d+))(??{ $n < $1 ? ',|\Z' : '(?!)' })(?{ $n=$1 }))+$/ 

 (3) /^(?:(?>(\d+))(??{ $n <= $1 ? ',|$' : '(?!)' })(?{ $n=$1 }))+$/ 


Номер 3
Строка в $_ состоит из нескольких натуральных чисел, разделенных запятыми, числа строго возрастают. Например: $_='11,12,30'. Какие регулярные выражения соответствуют каждой такой строке?

Ответ:

 (1) /^(?:(\d+)(??{ $n < $1 ? ',|\Z' : '(?!)' })(?{ $n=$1 }))+$/ 

 (2) /^(?:(\d+)(??{ $n < $1 ? ',|\Z' : '(?!)' })(?{ $n=$1 }))+\z/ 

 (3) /^(?:(\d+)(??{ $n < $1 ? '$|,' : '(?!)' })(?{ $n=$+ }))+\z/ 


Упражнение 4:
Номер 1
Какие операторы возвращают истину?

Ответ:

 (1) 'XXX' =~ /^(??{ join '',(X,X,X) })$/ 

 (2) 'XXX' =~ /^(??{ (X,X,X) })$/ 

 (3) 'XXX' =~ /^(??{ "\Uxxx" })$/ 


Номер 2
Какие операторы возвращают истину?

Ответ:

 (1) 'XXX' =~ /^(??{ '\Uxxx' })$/ 

 (2) 'XXX' =~ /^(??{ my $a='XXX' })$/ 

 (3) 'XXX' =~ /^(??{ my $a='XXX'; $a })$/ 


Номер 3
Какие операторы возвращают истину?

Ответ:

 (1) '123' =~ /^(??{ 123 })$/ 

 (2) '123' =~ /^(??{ '123' })$/ 

 (3) '123' =~ /^(??{ 124-1 })$/ 

 (4) '-123' =~ /^(??{ 1-124 })$/ 


Упражнение 5:
Номер 1
Какие операторы возвращают истину?

Ответ:

 (1) 'ABC' =~ /^(??{ "(?i)[a-z]+" })$/ 

 (2) 'ABC' =~ /^(?i)(??{ "[a-z]+" })$/ 

 (3) 'ABC' =~ /^(??{ "[a-z]+" })$/i 


Номер 2
Какие операторы возвращают истину??

Ответ:

 (1) 'ABCD' =~ /^(??{ "(?i)abc" })D$/ 

 (2) 'ABCD' =~ /^(??{ "(?i)abc" })d$/ 

 (3) 'ABCD' =~ /^(??{ "\Uabc" })d$/ 


Номер 3
Какие операторы возвращают истину?

Ответ:

 (1) 'ABCD' =~ /^(??{ "\Uabc" })D$/ 

 (2) 'ABCD' =~ /^(??{ "\QABC" })D$/ 

 (3) /^(??{ "(?i)\lABC" })D$/ 


Упражнение 6:
Номер 1
Какие операторы возвращают истину?

Ответ:

 (1) 'ABC' =~ /^(??{ "ABC\$" })/ 

 (2) my $a='$'; 'ABC' =~ /^(??{ "ABC$a" })/ 

 (3) my $a="\$"; 'ABC' =~ /^(??{ "ABC$a" })/ 


Номер 3
Укажите относительный URI:

Ответ:

 (1) 'ABC' =~ /^(??{ 'ABC\\Z' })/ 

 (2) 'ABC' =~ /^(??{ 'ABC\\z' })/ 

 (3) 'ABC' =~ /^(??{ 'ABC\$' })/ 




Главная / Программирование / Регулярные выражения Perl и их применение / Тест 12