От автора: приветствую вас, друзья. Если вы не знаете как быстро и просто проверить ваше регулярное выражение онлайн, тогда эта статья как раз для вас. В статье вы найдете несколько онлайн сервисов для проверки регулярных выражений, которые позволят протестировать шаблон регулярного выражения буквально за считанные секунды. Приступим?
На самом деле подобных сервисов десятки, если не сотни в сети. Однако мне больше всего нравится два онлайн сервиса, которые можно найти по следующим адресам.
regexr.com
regexpal.com
Оба эти сервиса похожи друг на друга как визуально, так и функционально. Чаще всего я на практике пользуюсь первым и второй привел просто в качестве альтернативы.
Давайте теперь попробуем составить шаблон регулярного выражения и протестируем работу любого из предложенных сервисов. Например, пусть перед нами стоит задача проверить логин, в котором мы разрешаем только латинские буквы, цифры, символ подчеркивания и тире. Если в строке будет присутствовать любой другой символ, значит такой логин нам не подойдет.
Возможный вариант шаблона регулярного выражения будет таким:
Как видите, выделены только логины, которые нам подходят. Давайте теперь разберем данный шаблон. Как вы помните, шаблон должен быть обрамлен разделителями, в данном случае это слеши (//).
После слешей идут так называемые флаги (еще можно встретить названия: символы внутренних опций или модификаторы шаблона). Флаг i делает шаблон регистронезависимым, т.е. если в шаблоне мы укажем маленькую литеру a — она совпадет как с символом a в нижнем, так и в верхнем регистре.
Флаг g поддерживается в JavaScript. В PHP для регулярных выражений данного флага нет, но вместо него есть функция preg_match_all(). Данный флаг ищет все совпадения в строке. Без данного флага будет найдено только первое совпадение.
Ну и флаг m обеспечивает поиск в мультистрочном режиме. Без данного флага шаблон работал бы только с первой строкой текста.
Все эти флаги можно выбрать в меню flags в правом верхнем углу программы.
Идем дальше. Мы будем валидировать всю строку с логином от начала до конца. Этого можно добиться, указав якоря ^ (начало строки) и $ (конец строки). Таким образом, если во всей строке от начала до конца будет хоть один неразрешенный символ — вся строка не будет приниматься.
Квадратные скобки — [] — являются символьным классом в регулярных выражениях. В символьном классе можно указать набор символов, которые мы хотим найти в строке. В данном случае мы разрешаем латинские литеры от a до z (благодаря флагу i разрешаются также литеры A-Z верхнего регистра), цифры от 0 до 9, символ подчеркивания и тире.
Ну и метасимвол + после символьного класса указывает на допустимое количество перечисленных в символьном классе символов — это может быть 1 символ и более (до бесконечности).
Как видим, все достаточно просто. При желании мы можем сократить регулярное выражение, заменив его таким вариантом:
Как видим, результат не изменился. \w в новом шаблоне соответствует латинским буквам, цифрам и символу подчеркивания.
На этом будем завершать данную статью. Больше о регулярных выражениях вы можете узнать из нашего курса по регулярным выражениям. Удачи!