Уроки модуля (4/4)
Пустые строки и обрезка
Давайте объединим якоря + флаг m для двух чрезвычайно полезных идиом:
сопоставление пустых строк и обрезание пробелов в начале/конце
каждой строки.
Пустые строки
Пустая строка — это позиция, в которой ^ и $ совпадают: ноль символов.
между началом и концом строки.
Pattern: ^$
Flag: gm
Sample: uno\n\ndue\n\n\ntreСоответствие имеет нулевую ширину: маркер покажет маркер между
два \n. Чтобы также сопоставить строки «пустые, но с пробелами», используйте
^\s*$.
Обрезка линии
Чтобы удалить пробелы в начале или конце строки, объедините якорь +
класс \s + квантификатор:
^\s+ matches whitespace at the start of a line (can then be replaced with the empty string, module 7)
\s+$ matches whitespace at the end of a lineС помощью флагов gm вы собираете все пробелы на полях каждой строки.
Определение пустых строк и конечных пробелов
Чисто пустой строке соответствует ^$ (с флагом m). Однако многие, казалось бы, пустые строки содержат невидимые пробелы или табуляции. Шаблон ^\\s*$ также перехватывает эти строки, что значительно упрощает очистку данных.
Попробуйте это
Найдите каждую пустую строку в образце (нулевые символы между двумя символами новой строки). Используйте `^$` с флагами `gm`.
Показать подсказку
Пустая строка — это позиция, в которой совпадают ^ и $. Флаг m является обязательным.
Решение доступно после 3 попыток
Обзор упражнения
Найдите пробелы в конце каждой строки (символы пробелов, которые предшествуют новой строке). Используйте `\\s+$` с флагами `gm`.
Показать подсказку
\\s+ соответствует одному или нескольким символам пробела (включая табуляцию). С помощью GM вы привязываетесь к концу каждой строки.
Решение доступно после 3 попыток
Дополнительная задача
Find all lines that start with the `#` character (entire comment lines, ignoring inline comments).
Показать подсказку
Use ^ at the start of the pattern to indicate that the comment character # must start the line.
Решение доступно после 3 попыток