игра брюс 2048
Главная / Программирование / Регулярные выражения Perl и их применение / Тест 1

Регулярные выражения Perl и их применение - тест 1

Упражнение 1:
Номер 1
Какие операторы удаляют все пробельные символы только в начале текста?

Ответ:

 (1) s/^ +//m 

 (2) s/^\s+//g 

 (3) s/^ *//m 

 (4) s/^\s*//s 

 (5) s/\s+?// 

 (6) s/\s*?// 

 (7) s/^[\t\r\3]*// 


Номер 2
Какие операторы удаляют все пробельные символы только в конце текста?

Ответ:

 (1) s/\s+$//m 

 (2) s/\s*$//m 

 (3) s/\s*$// 

 (4) s/\s+\Z// 

 (5) s/\s+?$// 

 (6) s/\s*\z// 

 (7) s/\s*?\Z// 


Номер 3
Какие операторы удаляют все пробельные символы только в начале каждой строки текста?

Ответ:

 (1) s/^ +//m 

 (2) s/^ *//m 

 (3) s/^\s+//g 

 (4) s/^\s*//gms 

 (5) s/^\s+?//g 

 (6) s/^\s*?//g 

 (7) s/^[\r\3\t]+//g 


Номер 4
Какие операторы удаляют все пробельные символы только в конце каждой строки текста?

Ответ:

 (1) s/ +$//m 

 (2) s/\s*//m 

 (3) s/\s+\Z//g 

 (4) s/\s*$//gms 

 (5) s/\s+?$//g 

 (6) s/\s*?$//g 

 (7) s/\s*?//g 


Упражнение 2:
Номер 1
Какое регулярное выражение соответствуют всей строке '-123.456', которая содержит число?

Ответ:

 (1) /\d+.\d+/ 

 (2) /^\-\d+\.\d*$/ 

 (3) ^\-?\d+\.\d+$/ 

 (4) /^[-.\d]+$/ 


Номер 2
Какие регулярные выражения соответствуют всей строке 'abc123'?

Ответ:

 (1) /\w+\d/ 

 (2) /\d*\w+/ 

 (3) /\w*\d+/ 

 (4) /[a-c\d]*/ 


Номер 3
Какие регулярные выражения соответствуют всей строке '1a2b3c+'?

Ответ:

 (1) /\w++/ 

 (2) /[\d\w]++/ 

 (3) /[\w+]*/ 

 (4) /\S+/ 


Упражнение 3:
Номер 1
Какие регулярные выражения захватят в $1 только подстроку 'abc   -123' в строке 'xyz   abc   -123   uvw'?

Ответ:

 (1) /\w+(\w+\s+-\d+)/ 

 (2) /[\w\s]+(\w+\s+[-\d]+)/ 

 (3) /\S+\s+(\S+\s+[-\d]+)/ 


Номер 2
Какие регулярные выражения захватят в $1 только подстроку '123   a-bc' в строке 'xyz   123   a-bc  uvw'?

Ответ:

 (1) /(\d+[\s\w-]+)/ 

 (2) /(\d+\s+[\w-]*)/ 

 (3) /\S+\s+(\d+\s*[a-bc]+)/ 


Номер 3
Какие регулярные выражения захватят в $1 только подстроку 'ab+c   1-23' в строке 'xyz   ab+c   1-23   uvw'?

Ответ:

 (1) /(a[\w+]+\s+[\d-]+)/ 

 (2) /\S+\s+(\w+\+\w+\s+\d-\d*)/ 

 (3) /\S+\s+(\w+\+\w+\s+\d-\d*?)/ 


Упражнение 4:
Номер 1
В тексте надо захватить в $1 фрагмент (может и пустой) от первых до вторых кавычек. Какие операторы делают это правильно?

Ответ:

 (1) /"(.+)"/ 

 (2) /"(.+)"/s 

 (3) /"(.*)"/ 

 (4) /"(.*?)"/s 

 (5) /"([^"]+)"/ 

 (6) /"([^"]*)"/ 


Номер 2
В тексте надо захватить в $1 фрагмент от предпоследних до последних кавычек. Какие операторы делают это правильно?

Ответ:

 (1) /"([^"]*)"[^"]*/ 

 (2) /"([^"]*)"[^"]*$/ 

 (3) /[^"]+"(.+)"/s 

 (4) /.*"([^"]*)"/s 


Номер 3
В тексте надо захватить в $1 фрагмент от первых до третьих кавычек. Какой оператор делает это правильно?

Ответ:

 (1) /"([^"]*"[^"]*)"/ 

 (2) /"([^"]*"[^"]+)"/ 

 (3) /"(.*".*)"/ 

 (4) /"(.*".*)"/s 

 (5) /"(.|")"/s 


Упражнение 5:
Номер 1
Строка содержит полный путь и имя файла в Windows и ничего больше. Надо захватить в $1 имя файла. Какие операторы делают это правильно?

Ответ:

 (1) /.*\(.+)/ 

 (2) /.*\\(.+)/ 

 (3) /.+\\(.*)/ 

 (4) /.*?\\(.*)/s 

 (5) /.*\\(.*?)/s 

 (6) /\\(.*)/s 


Номер 2
Строка содержит полный путь и имя файла в Windows и ничего больше. Надо захватить в $1 имя диска. Какие операторы делают это правильно?

Ответ:

 (1) /(.+)\\/ 

 (2) /(.+)\/ 

 (3) /([^\]+)\\/ 

 (4) /([^\\]+)\\/ 

 (5) /^([^\\]*)\\/ 

 (6) /(.+?)\\/ 


Номер 3
Строка содержит полный путь и имя файла в Windows и ничего больше. Надо захватить в $1 весь путь без имени диска и имени файла. Какие операторы делают это правильно?

Ответ:

 (1) /[^:]*:(.*\\)/ 

 (2) /[^:]*?:(.*\\)/ 

 (3) /[^:]*:(.*?\\)/ 

 (4) /[^\\]+(.*?\\)/ 

 (5) /[^\\]+(.*\\)/s 

 (6) /^[^\\]+(.*\\)/ 


Упражнение 6:
Номер 1
Какие регулярные выражения захватят в $1 подстроку '-123abc', а в $2 - подстроку '1+2abc' из строки '1-2ab   -123abc   a1   1+2abc'?

Ответ:

 (1) /([-123\w]+)\s+(\S+)/ 

 (2) /\S+\s+(\S+)\s+(\S+)/ 

 (3) /(\S+c)\s+\S+\s+([+\w]*)/ 


Номер 2
Какие регулярные выражения захватят в $1 подстроку 'yahoo!', а в $2 - подстроку 'a_bc' из строки 'ab!c    yahoo!      a_bc'?

Ответ:

 (1) /([\w!]+)\s+(\S+)/ 

 (2) /([\w]+!)\s+(\S+)/ 

 (3) /([\w]+!)\s+(\w+)/ 


Номер 3
Какие регулярные выражения захватят в $1 подстроку 'ab?c', а в $2 - подстроку 'abc?' из строки '12?a ab?c    abc?'?

Ответ:

 (1) /([\w?]+)\s+(\S+)/ 

 (2) (a[\w?]+\s+)(\S+) 

 (3) /([a-z]+[?\w]*)\s+(\S+)/ 




Главная / Программирование / Регулярные выражения Perl и их применение / Тест 1