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

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

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

 989

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

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

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

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

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

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

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

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

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

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

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

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


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

Хорошим примером является функция поиска в текстовых редакторах. В качестве эксперимента вы можете попрактиковаться с регулярными выражениями в редакторе 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 (14 оценок, среднее: 5,00 из 5)
Загрузка...

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

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