Урок №10. Пробельные символы

  Юрий  | 

  Обновл. 17 Ноя 2019  | 

 520

При работе с реальными данными, такими как лог-файлы или даже пользовательский ввод, трудно не столкнуться с пробельными символами. Мы используем их в форматировании фрагментов информации, чтобы их было проще читать и визуально сканировать, но один лишь пробел может полностью сломать простейшее регулярное выражение.

Наиболее распространёнными пробельными символами являются обычные пробелы ( ), табуляция (\t), новая строка (\n) и возврат каретки (\r). Специальные символы в скобках соответствуют каждому из соответствующих им пробельным символам. Кроме того, метасимвол пробельных символов \s будет соответствовать любому из указанных выше пробельных символов и, таким образом, является очень полезным при работе с необработанными данными.

В упражнении ниже вы обнаружите, что содержимое каждой строки имеет определённый отступ от нумерации этой строки (нумерация также является частью текста, которую нужно сопоставить). Попробуйте написать шаблон, который будет соответствовать каждой строке, содержащей пробельные символы между нумерацией этой строки и её содержимым. Обратите внимание, пробельные символы являются обычными символами, с которыми можно использовать такие метасимволы, как * и + (подсказка).

Задание №10: Пробельные символы
Задание Текст
Соответстовать 1. abc To be completed
Соответстовать 2. abc To be completed
Соответстовать 3. abc To be completed
Пропустить 4.abc To be completed

Решение Мы должны сопоставлять только те строки, которые имеют пробельные символы между номером строки и abc. Мы можем это сделать, используя выражение \d\.\s+abc для соответствия числа, точки, одного или нескольких пробельных символов, и текста.

Если бы мы использовали метасимвол * вместо +, то мы бы захватили четвёртую строку, которую нужно пропустить.

Решите задание выше, чтобы перейти к следующему уроку, либо смотрите Решение.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (3 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *