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