Введение в регулярные выражения

  Александр Булаев  | 

  Обновл. 16 Сен 2021  | 

 22911

В этой серии обучающих уроков мы будем разбираться с регулярными выражениями. Регулярные выражения (они же «регулярки» или «RegExp», от англ. «Regular Expressions») — это шаблоны, используемые для сопоставления последовательностей символов.

Применение регулярных выражений

Рассмотрим случаи, в которых используются регулярные выражения:

   Поиск конкретных элементов в большом наборе текста. Например, вы можете выделить только адреса электронной почты из большого количества связанного (или несвязанного) текста.

   Замена одних символов на другие. Например, вы можете очистить плохо отформатированные файлы с HTML-разметкой, заменив все теги, написанные в верхнем регистре, эквивалентами в нижнем регистре, используя текстовый редактор.

   Проверка ввода. Например, вы можете проверить, соответствует ли пароль заданным критериям, таким как сочетание прописных и строчных букв, наличие цифр, знаков препинания и т.д.

   Координация действий. Например, вы можете обрабатывать определенные файлы в каталоге только в том случае, если они удовлетворяют заданным критериям, описанным в командной строке.

И это не весь список применений регулярных выражений.

Давайте рассмотрим один простой пример. Следующее регулярное выражение выделит каждый экземпляр символа b, за которым следует либо символ i, либо символ a:

Регулярное выражение: b[ia]
Пример: The bat took a bite out of the big boring apple.

Да, это не что-то сверхъестественное или мегаполезное. Но по мере того, как мы будем углубляться в тему регулярных выражений, примеры станут более практичными.

Где и как можно использовать регулярные выражения?


Регулярные выражения — это особенность многих программ и почти всех существующих языков программирования. Возможно, даже сейчас вы используете инструменты, в арсенале которых есть регулярные выражения, и как только вы освоите их лучше — ваши возможности возрастут.

Хорошим примером является функция поиска в текстовых редакторах. В качестве эксперимента вы можете попрактиковаться с регулярными выражениями в редакторе Notepad++, нажав CTRL+F и активировав пункт «Регуляр. выражен.»:

Также вы можете попрактиковаться и в любом другом текстовом редакторе.

Изучение регулярных выражений

Когда вы впервые начинаете изучать регулярные выражения и играться с ними, то, скорее всего, вы будете много ошибаться, у вас будет что-то не получаться и так далее. И это нормально, не волнуйтесь, ведь это всего лишь часть обучения. Чем больше у вас будет проблем, тем солиднее будет ваш опыт (при условии, что вы будете решать проблемы). Вот вам несколько советов для эффективной работы с регулярными выражениями:

   Разбивайте регулярное выражение на отдельные компоненты.

   Произносите вслух содержимое регулярного выражения. Например, в примере, приведенном выше, мы произносим: «Сначала мы выделяем b, за которым следует i или a». (Да, это может звучать глупо, но, поверьте, это работает)

   Стройте регулярные выражения постепенно, тестируя каждую часть.

Тестирование


Вы можете использовать тестовые данные для проверки работоспособности ваших регулярных выражений. Ваше регулярное выражение может корректно работать с одним набором тестовых данных и не очень корректно с другим набором. Как и везде, с практикой вы научитесь создавать объемные тестовые данные для полной проверки ваших выражений.

В качестве примера следующее регулярное выражение ищет b, за которым следует любой символ. Если бы наша задача состояла в том, чтобы найти b, за которым следует i или a (как в примере, приведенном выше), то мы бы могли использовать следующие тестовые данные и прийти к неверному заключению, что наше регулярное выражение полностью рабочее:

Регулярное выражение: b.
Пример: The bat took a bite out of the big apple.

Дело в том, что мы указали данные, в которых наше выражение на все 100% сработает, но это не те данные, которые соответствуют заданию в полной мере.

Когда вы используете тестовые данные, убедитесь, что вы включили все, даже крайние случаи.

Регулярное выражение: b.
Пример: The bat took a bite out of the biboring apple.

Повторюсь, это служит лишь примером и маловероятно, что может оказаться полезным на данном этапе. Но как только мы начнем погружаться в изучение регулярных выражений, то всё станет на свои места.

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

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

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

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