Главная / Программирование /
Регулярные выражения Perl и их применение / Тест 2
Регулярные выражения Perl и их применение - тест 2
Упражнение 1:
Номер 1
Какое число будет захвачено в переменную $1 в следующем операторе поиска: '12345 1234 123' =~ /(12\d+|123\d+|1\d+)/ ?
Ответ:
 (1) 12345 
 (2) 1234 
 (3) 123 
Номер 2
Какое слово будет захвачено в переменную $1 в следующем операторе поиска: 'abcde abcd abc' =~ /(ab\w+|abc\w+|a\w+)/ ?
Ответ:
 (1) abcde 
 (2) abcd 
 (3) abc 
Номер 3
Какое телефонный номер будет захвачен в переменную $1 в следующем операторе поиска: '123-45-67 123-45 1234' =~ /(12[\d-]+|123[\d-]+|1[\d-]+)/ ?
Ответ:
 (1) 123-45-67 
 (2) 123-45 
 (3) 1234 
Упражнение 2:
Номер 1
Какой фрагмент будет захвачен в строке 'abc 123' в переменную $1 регулярным выражением /(\w)+$/?
Ответ:
 (1) 123 
 (2) 23 
 (3) 3 
Номер 2
Какой фрагмент будет захвачен в строке 'abc! 23!' в переменную $1 регулярным выражением /(\w\w)+!/?
Ответ:
 (1) никакой 
 (2) bc 
 (3) 23 
Номер 3
Какой фрагмент будет захвачен в строке 'abc? 23?' в переменную $1 регулярным выражением /(\w\w)+?/?
Ответ:
 (1) abc? 
 (2) bc? 
 (3) ab 
Упражнение 3:
Номер 1
Будут ли возвраты в процессе работы оператора 'abc123' =~ /(?>[a123]+$|\w+$)/?
Ответ:
 (1) да 
 (2) нет 
Номер 2
Будут ли возвраты в процессе работы оператора 'abc123' =~ /(?>[a123]+|\w+)$/?
Ответ:
 (1) да 
 (2) нет 
Номер 3
Будут ли возвраты в процессе работы оператора 'abc123' =~ /(?>[a123]+|\w+)/?:
Ответ:
 (1) да 
 (2) нет 
Упражнение 4:
Номер 1
Какой фрагмент строки будет захвачен в переменную $1 в операторе '!1a' =~ /(?>([!\d]+|\S+))$/?
Ответ:
 (1) !1 
 (2) a 
 (3) !1a 
Номер 2
Какой фрагмент строки будет захвачен в переменную $1 в операторе '!1a' =~ /((?>[!\d]+|\S+))$/?
Ответ:
 (1) !1 
 (2) a 
 (3) !1a 
Номер 3
Какой фрагмент строки будет захвачен в переменную $1 в операторе '!1a' =~ /((?>[!\d]+|\S+))/?
Ответ:
 (1) !1 
 (2) a 
 (3) !1a 
Упражнение 5:
Номер 1
Будет ли найдено совпадение в операторе 'abc' =~ /(?>|\S+)/?
Ответ:
 (1) да 
 (2) нет 
Номер 2
Будет ли найдено совпадение в операторе 'abc' =~ /(?>a|\S+)\b/?
Ответ:
 (1) да 
 (2) нет 
Номер 3
Будет ли найдено совпадение в операторе 'abc' =~ /(?>\d+|\z)/?
Ответ:
 (1) да 
 (2) нет 
Упражнение 6:
Номер 1
Какой текст будет захвачен, соответственно, в переменную $1 и $2 следующим оператором: 'abcd' =~ /(\w+)(\w+)/?
Ответ:
 (1) a и bcd 
 (2) abc и d 
 (3) ab и cd 
Номер 2
Какой текст будет захвачен, соответственно, в переменную $1 и $2 следующим оператором: 'abcd' =~ /(\w*)(\w+)/?
Ответ:
 (1) a и bcd 
 (2) abc и d 
 (3) ab и cd 
Номер 3
Какой текст будет захвачен, соответственно, в переменную $1 и $2 следующим оператором: 'abcd' =~ /(\w*?)(\w+)/?
Ответ:
 (1) a и bcd 
 (2) abc и d 
 (3) ab и cd