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

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

От автора: приветствую вас, друзья. Если вы не знаете как быстро и просто проверить ваше регулярное выражение онлайн, тогда эта статья как раз для вас. В статье вы найдете несколько онлайн сервисов для проверки регулярных выражений, которые позволят протестировать шаблон регулярного выражения буквально за считанные секунды. Приступим?

На самом деле подобных сервисов десятки, если не сотни в сети. Однако мне больше всего нравится два онлайн сервиса, которые можно найти по следующим адресам.

regexr.com

regexpal.com

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

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

Возможный вариант шаблона регулярного выражения будет таким:

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

После слешей идут так называемые флаги (еще можно встретить названия: символы внутренних опций или модификаторы шаблона). Флаг i делает шаблон регистронезависимым, т.е. если в шаблоне мы укажем маленькую литеру a — она совпадет как с символом a в нижнем, так и в верхнем регистре.

Флаг g поддерживается в JavaScript. В PHP для регулярных выражений данного флага нет, но вместо него есть функция preg_match_all(). Данный флаг ищет все совпадения в строке. Без данного флага будет найдено только первое совпадение.

Ну и флаг m обеспечивает поиск в мультистрочном режиме. Без данного флага шаблон работал бы только с первой строкой текста.

Все эти флаги можно выбрать в меню flags в правом верхнем углу программы.

Идем дальше. Мы будем валидировать всю строку с логином от начала до конца. Этого можно добиться, указав якоря ^ (начало строки) и $ (конец строки). Таким образом, если во всей строке от начала до конца будет хоть один неразрешенный символ — вся строка не будет приниматься.

Квадратные скобки — [] — являются символьным классом в регулярных выражениях. В символьном классе можно указать набор символов, которые мы хотим найти в строке. В данном случае мы разрешаем латинские литеры от a до z (благодаря флагу i разрешаются также литеры A-Z верхнего регистра), цифры от 0 до 9, символ подчеркивания и тире.

Ну и метасимвол + после символьного класса указывает на допустимое количество перечисленных в символьном классе символов — это может быть 1 символ и более (до бесконечности).

Как видим, все достаточно просто. При желании мы можем сократить регулярное выражение, заменив его таким вариантом:

Как видим, результат не изменился. \w в новом шаблоне соответствует латинским буквам, цифрам и символу подчеркивания.

На этом будем завершать данную статью. Больше о регулярных выражениях вы можете узнать из нашего курса по регулярным выражениям. Удачи!

Метки:

Похожие статьи:

Комментарии Вконтакте: