Главная / Мой вордпресс / Регулярные выражения, что это?

Регулярные выражения, что это?

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

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

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

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

Не понятно? Не пугайтесь, сейчас попробуем разобраться более подробно. Рассмотрим такой случай, у нас есть некая строка, и нам нужно найти в ней некую последовательность символов, причем которая может быть не постоянной. Вот тут нам и помогут регулярные выражения. Чтобы стало ещё понятней, просто рассмотрим простой пример. Мы хотим в том или ином тексте найти адрес e-mail. Но при том, заранее нам не известно какой e-mail мы будем искать. То есть нам подойдет любой встречающийся в тексте.

Как это сделать? Да очень просто, для начала нам нужно будет составить шаблон подходящий для всех почтовых адресов. Теперь попробуем разбить e-mail на составляющие, связанные общими характеристиками. Для этого рассмотрим конкретно взятый адрес. К примеру admin@kirilqasblog.ru.

Рассмотрим из чего он состоит. Из имени admin, далее за которым идет @, после чего почтовый постфикс с точкой и сокращением доменной зоны. Мы разбили адрес на составляющие. Имя объединяет то, что оно состоит из символов латинского алфавита от a-z, далее идет знак @ который к другим группам мы отнести не сможем, поэтому выделяем его отдельно. Далее с постфиксом такая же ситуация как и с именем, а в случае точки такая же как с @. Далее идет доменная зона состоящая из символов латинского алфавита, длиной от 2 до 4 символов.

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

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

Для начала надо определиться, что же будет делать наше выражение. Ну и чтобы далеко не ходить, возьмем пример с определением e-mail. Регулярное выражение для него мы уже написали, и теперь нам только осталось научится его применять. Сейчас я приведу небольшой код, с помощью которого мы сможем произвести проверку, и чуть позже его прокомментирую.

$preg = |([a-z0-9_\.\-]+)@([a-z0-9_\.\-]+)\.([a-z]{2,4})|is; //Наше регулярное выражение
if (preg_match($preg, $_GET[mail]))  //email будем получать из GET запроса
{
      echo Формат e-maila правильный;    //Ответ при верном формате почты
}
esle
{
        echo Формат e-maila не правильный;    //Ответ при не верном формате почты
}

Вот и весь код. Не чего сложного. Но все же остановимся на некоторых моментах. Функция preg_match предназначена для сравнения рег. выражения с строкой. Если такое совпадение найдено, то функция возвращает 1, в противном случае 0. Кроме этой функции существуют так же и другие, но в рамках этой статьи рассматривать их я не буду. Все остальное я думаю достаточно понятно. Если после прочтения 4 статей остались вопросы, или замечания, пишите в комментариях, с радостью на все отвечу.

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

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

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*

Если вы хотите получать уведомления на свой E-mail о появлении новых статей, то рекомендуем вам чуть ниже ввести свой электронный почтовый адрес.