Вопросы и Упражнения
Вопросы для самоконтроля
1. Что такое регулярное выражение?
2. Какие символы имеют в регулярном выражении Perl специальное значение?
3. Что такое метапоследовательность, как она образуется?
4. Что такое обратная ссылка?
5. Какая переменная используется в операции подстановки по умолчанию?
6. Какой смысл имеет символ "$" в следующих регулярных выражениях:
/abc*$/ /[аbс*$]/ /$abc/
7. Какой смысл имеет символ " ^ " в следующих регулярных выражениях:
/ ^ аbс/ /[аbс]/ /аbс ^ /
8. Объясните, какие множества строк соответствуют следующим образцам. Приведите пример.
/a.out/ /a\.out/ /\d{2.3}-\d{2}-\d{2}/ /(.)(.).\2\1/ /(.) (.).\02\01/
9. Напишите образец, задающий палиндром из шести букв.
10. Напишите команду замены, которая:
- заменяет все символы новой строки пробелами;
- выделяет из полного маршрутного имени файла имя файла;
- выделяет из полного маршрутного имени файла имя каталога.
11. Каково значение следующих выражений, если значение переменной $var равно "123qwerty"?
$var =~ /./ $var = – /[A-Z]*/ $var =~ /\w{4-9}/ $var =~ /(\d)2(\D/ $var =~ /qwerty$/ $var =~ /123?/
11.1. Какое значение будет иметь переменная $var после следующих операций подстановки, если ее начальное значение равно "qwertyi23qwerty"?
$var =~ s/qwerty/XYZ/; $var =~ s/[a-zJ+/X/g; $var =~ s/B/W/i; $var =~ s/(.)\d.*\l/d/; $var =~ s/(\d+)/$l*2/e;
12. Начальное значение переменной $var равно "qwertyi23qwerty". Каким оно будет после выполнения операций транслитерации?
$var =~ tr/a-z/A-Z/; $var =~ tr/a-z/0-9/; $var =~ tr/a-z/O-9/d; $var =~ tr/231/564/; $var =~ tr/123/ /s;. $var =~ tr/123//cd;
13. Переменная $var имеет значение "qwertyqwerty". Каково значение, возвращаемое функцией?
substr ($var, 0, 3); substr ($var, 4); substr ($var, – 2, 2); substr ($var, 2, 0); index ($var, "rt"); index ($var, "rtyu"); index ($var, "er", 1); index ($var, "er", 7); rindex ($var, "er");