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

  Юрий  | 

  Обновл. 3 Дек 2020  | 

 3764

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

Наиболее распространенными пробельными символами являются обычные пробелы ( ), табуляция (\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 (7 оценок, среднее: 5,00 из 5)
Загрузка...

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

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