Главная / Программирование /
Регулярные выражения 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