Главная / Программирование /
Регулярные выражения Perl и их применение / Тест 13
Регулярные выражения Perl и их применение - тест 13
Упражнение 1:
Номер 1
Какое значение получит переменная $1
в результате работы программы'abc' =~ /(\w)/;
'123' =~ //;
Ответ:
 (1) a
 
 (2) 1
 
 (3) 123
 
Номер 2
Какое значение получит переменная $1
в результате работы программы'abc' =~ /(?>(\w+))\w/;
'123' =~ //;
Ответ:
 (1) ab
 
 (2) 12
 
 (3) undefined/
 
Номер 3
Какое значение получит переменная $1
в результате работы программыmy $a='';
'abc' =~ /(\w+)/;
'123' =~ /$a/;
Ответ:
 (1) abc
 
 (2) 123
 
 (3) undefined
 
Упражнение 2:
Номер 1
Какое значение получит переменная $1
в результате работы программыmy $re=qr/(\d)+/;
'123' =~ $re;
'456' =~ //;
Ответ:
 (1) 3
 
 (2) 6
 
 (3) 4
 
Номер 2
Какое значение получит переменная $1
в результате работы программыmy $re=qr/(\d)+/;
'123' =~ $re;
'456' =~ //;
Ответ:
 (1) 3
 
 (2) 6
 
 (3) 4
 
Номер 3
Какое значение получит переменная $1
в результате работы программыmy $a='';
my $re=qr/(\d)+/;
'123' =~ $re;
'456' =~ /$a/;
Ответ:
 (1) 3
 
 (2) 6
 
 (3) 4
 
Упражнение 3:
Номер 1
Какое значение получит переменная $1
в результате работы программыmy $re=qr/(\d)+/;
'123' =~ $re;
$re=qr/(\d+)/
Ответ:
 (1) 123
 
 (2) 456
 
 (3) 6
 
Номер 2
Какое значение получит переменная $1
в результате работы программыmy $a='';
my $re=qr/(\d)+/;
'123' =~ $re;
$re=qr/(\d+)/;
'456' =~ /$a/;
Ответ:
 (1) 123
 
 (2) 456
 
 (3) 6
 
Номер 3
Какое значение получит переменная $1
в результате работы программыmy $re=qr/(?>(\d)+)\d/;
'123' =~ $re;
$re=qr/(\d+)/;
'456' =~ //;
Ответ:
 (1) 12
 
 (2) 45
 
 (3) undefined
 
Упражнение 4:
Номер 1
Что будет напечатано в результате выполнения программыmy $a='a';
$_='ab';
while ($a ne 'd' && /$a/o) { print $&; $a++; }
Ответ:
 (1) abc
 
 (2) a
 
 (3) aaa
 
Номер 2
Что будет напечатано в результате выполнения программыmy $a=$_='a';
while ($a ne 'd' && /$a/o) { print $&; $_++; $a++; }
Ответ:
 (1) abc
 
 (2) a
 
 (3) aaa
 
Номер 3
Что будет напечатано в результате выполнения программыmy $a=$_=1;
while ($a < 4 && /$a/o) { print $&; $_++; $a++; }
Ответ:
 (1) 123
 
 (2) 1
 
 (3) 111
 
Упражнение 5:
Номер 1
Что будет напечатано в результате выполнения программыmy ($a,$b)=('a','a');
while ($a ne 'd' && $b =~ /(??{ "$a" })/o) { print $&; $a++; $b++; }
Ответ:
 (1) aaa
 
 (2) a
 
 (3) abc
 
Номер 2
Что будет напечатано в результате выполнения программыmy $a='a';
$b='ab';
while ($a ne 'd' && $b =~ /(??{ "$a" })/o) { print $&; $a++; }
Ответ:
 (1) abc
 
 (2) ab
 
 (3) a
 
Номер 3
Что будет напечатано в результате выполнения программыmy $a=$b=1;
while ($a < 4 && $b =~ /(??{ "$a" })/o) { print $&; $b++; $a++; }
Ответ:
 (1) 123
 
 (2) 1
 
 (3) 111
 
Упражнение 6:
Номер 1
Что будет напечатано в результате выполнения программыuse re 'eval';
my $a=$b=1;
while ($a < 4 && $b =~ /(?{ ++$a })$a/) { print $&; $b++; }
Ответ:
 (1) ничего 
 (2) 123
 
 (3) 1
 
Номер 2
Что будет напечатано в результате выполнения программыuse re 'eval';
my $a=$b=1;
while ($a < 4 && $b =~ /(?{ ++$a })$a/o) { print $&; $b++; }
Ответ:
 (1) ничего 
 (2) 123
 
 (3) 1
 
Номер 3
Что будет напечатано в результате выполнения программыmy $b='ab';
my $a='a';
while ($a ne 'd' && $b =~ /(?{ ++$a })$a/o) { print $&; }
Ответ:
 (1) aa
 
 (2) ab
 
 (3) aaa