Главная / Программирование /
Регулярные выражения Perl и их применение / Тест 5
Регулярные выражения Perl и их применение - тест 5
Упражнение 1:
Номер 1
Какое значение получит переменная $1
в результате выполнения программы "abc\n123" =~ /(\w$)/
?
Ответ:
 (1) c
 
 (2) 3
 
 (3) c\n
 
Номер 2
Какое значение получит переменная $1
в результате выполнения программы "abc\n123" =~ /(\w$)/m
?
Ответ:
 (1) c
 
 (2) 3
 
 (3) c\n
 
Номер 3
Какое значение получит переменная $1
в результате выполнения программы "abc\n123" =~ /^(\w+)(?=\Z)/
?
Ответ:
 (1) abc
 
 (2) 123
 
 (3) undefined
 
Номер 4
Какое значение получит переменная $1
в результате выполнения программы "abc\n123" =~ /^(\w+)(?=\Z)/m
?
Ответ:
 (1) abc
 
 (2) 123
 
 (3) undefined
 
Упражнение 2:
Номер 1
Какое значение получит массив @a
в результате работы оператора my @a = "abc!abc" =~ /\w+/
?
Ответ:
 (1) (abc)
 
 (2) () или пусто
 
 (3) 1
 
Номер 2
Какое значение получит массив @a
в результате работы оператора my @a = "abc!abc" =~ /\w+/g
?
Ответ:
 (1) (abc)
 
 (2) () или пусто
 
 (3) (abc, abc)
 
Номер 3
Какое значение получит массив @a
в результате работы оператора my @a = "abc!abc" =~ /\G\w+/g
?
Ответ:
 (1) (abc)
 
 (2) () или пусто
 
 (3) (abc, abc)
 
Упражнение 3:
Номер 1
Какое значение получит переменная $1
в результате работы программы "abc\n" =~ /\w\Z(.)\z/?
Ответ:
 (1) \n
 
 (2) undefined
 
 (3) c
 
Номер 2
Какое значение получит переменная $1
в результате работы программы "abc\n" =~ /\w\Z(.)\z/s
?
Ответ:
 (1) \n
 
 (2) undefined
 
 (3) c
 
Номер 3
Какое значение получит переменная $1
в результате работы программы "abc\n123\n" =~ /(\w)$(?#).\z/ms
?
Ответ:
 (1) c
 
 (2) undefined
 
 (3) 3
 
Упражнение 4:
Номер 1
Какое значение получит переменная $_
в результате работы программы $_='abc123'; s/(\d)/$1+100/e
?
Ответ:
 (1) abc123
 
 (2) abc10123
 
 (3) abc101102103
 
Номер 2
Какое значение получит переменная $_
в результате работы программы $_='abc123'; s/(\d)/$1+100/eg
?
Ответ:
 (1) abc123
 
 (2) abc10123
 
 (3) abc101102103
 
Номер 3
Какое значение получит переменная $_
в результате работы программы $_='abc123'; s/(\d)/$1+100/
?
Ответ:
 (1) abc1+10023
 
 (2) abc10123
 
 (3) abc$1+10023
 
Упражнение 5:
Номер 1
Какое значение получит переменная $1
в результате работы программы "abc123" =~ /(123|abc)$/
?
Ответ:
 (1) abc
 
 (2) 123
 
 (3) undefined
 
Номер 2
Какое значение получит переменная $1
в результате работы программы "abc123" =~ /(123|abc$)/
?
Ответ:
 (1) abc
 
 (2) 123
 
 (3) undefined
 
Номер 3
Какое значение получит переменная $1
в результате работы программы "abc123" =~ /(123$|abc)/
?
Ответ:
 (1) abc
 
 (2) 123
 
 (3) undefined
 
Упражнение 6:
Номер 1
Какое значение получит переменная $1
в результате работы программы "123abc" =~ /(\d)?\d+(?(1)abc)/
?
Ответ:
 (1) 1
 
 (2) пусто 
 (3) undefined
 
Номер 2
Какое значение получит переменная $1
в результате работы программы "123abc" =~ /(\d)+\d+(?(1)abc)/
?
Ответ:
 (1) 1
 
 (2) 2 
 (3) 12
 
Номер 3
Какое значение получит переменная $1
в результате работы программы "123abc" =~ /(\d)+(\d+)(?(?{ $1 < $2 })abc)/
?
Ответ:
 (1) 1
 
 (2) 2
 
 (3) undefined