Показано с 1 по 5 из 5

Тема: Регулярные выражения и с чем их "едят"

  1. #1
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек

    Регулярные выражения и с чем их "едят"

    Не так давно, когда пришлось все-таки начать писать регистрацию для своего проекта, я столкнулся с такой проблемой, как "проверка на "РП ник"", т.е. на правильное необходимое мне имя игрока в игре. Чтобы это реализовать с помощью PHP мне понадобились так называемые "регулярки", с правильным построением каких я никогда не связывался, да и особо связываться не хотел. Однако, судьба свела нас вместе xD Итак, приступим:

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

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

    Основы регулярных выражений

    Регулярное выражение Означает
    foo Строка “foo”
    ^foo Строка начинается с “foo”
    foo$ Строка заканчивается на “foo”
    ^foo$ «foo» встречается в строке только один раз
    [abc] a, b, или c
    [a-z] любой символ в нижнем регистре
    [^A-Z] любой символ, не находящийся в верхнем регистре
    (gif|jpg) Означает как «gif” так и “jpeg”
    [a-z]+ Один или более символов нижнего регистра
    [0-9.-] Любая цифра, точка или знак минус
    ^[a-zA-Z0-9_]{1,}$ Любое слово, хотя бы одна буква, число или _
    ([wx])([yz]) wy, wz, xy, или xz
    (^A-Za-z0-9) Любой символ (не число и не буква)
    ([A-Z]{3}|[0-9]{4}) Означает три буквы или 4 цифры






    PHP-функции для регулярных выражений

    Функция Описание
    preg_match() Функция preg_match() ищет строку по заданному шаблону, возвращает true, если строка находится и false, в остальных случаях
    preg_match_all() Функция preg_match_all() находит все вхождения строки, заданной по шаблону
    preg_replace() Функция preg_replace(), действует по тому же принципу, что и ereg_replace(), за исключением того, что регулярные выражения можно использовать как для задания шаблона поиска, так и для строки, на которую следует заменить, найденное значение.
    preg_split() Функция preg_split(), действует так же как split(), за исключением того, что регулярное выражение можно использовать в качестве параметра для шаблона поиска.
    preg_grep() Функция preg_grep() ищет все элементы входного массива, возвращая все элементы, соответствующие шаблону регулярного выражения.
    preg_quote() Экранирует символы регулярного выражения





    Пример

    Соответственно, пример проверки на "РП ник":

    PHP код:
    if(preg_match("/^(([a-zA-Z]{4,12})([_]{1})([a-zA-Z]{4,12}))$/""Fallen_Angel"))
        echo 
    'Good name.';
    else
        echo 
    'Wrong name'
    В данном случае результатом проверки будет:
    PHP код:
    Good name
    Регулярка проверяет, состоит ли наше игровое имя их тех символов и той конструкции, которая нам необходима.




    Полезные материалы

    Сервис для проверки правильности регулярного выражения и показа его логической структуры.
    Еще один сервис для проверки работы регулярного выражения.
    Полезный сервис, где можно провести проверки регулярки в javascript.



    Спасибо за внимание.

  2. 1 пользователь сказал cпасибо Fallen A. за это полезное сообщение:

    Devid_Belle (08.09.2015)

  3. #2
    Проверенный Аватар для Devid_Belle
    Регистрация
    15.09.2011
    Адрес
    Москва
    Сообщений
    842
    Репутация: 44

    Звание: на пути к лучшему

    Re: Регулярки и с чем их едят

    Ууу.. недавно их полюбил.
    Классный урок :bs:



    Проверенный: 07.09.2015 - xx.xx.xxxx

  4. #3

  5. #4
    Почетный пользователь Аватар для EvgeN 1137
    Регистрация
    10.01.2011
    Адрес
    не скажу
    Сообщений
    3,005
    Репутация: 580

    Звание: - это имя известно всем
    Напомнило:

    Сначала ты даешь основы регулярок, а потом сразу готовое выражение для проверки рп ника. Хоть бы разобрал по частям свою регулярку
    :)

  6. #5
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек
    Цитата Сообщение от EvgeN 1137 Посмотреть сообщение
    Напомнило:

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

Похожие темы

  1. [Урок] Рекурсия и с чем её едят
    от Mexanizm в разделе Pawn WIKI
    Ответов: 27
    Последнее сообщение: 30.08.2015, 11:52
  2. Регулярные выражения
    от Seregamil в разделе Вопросы по скриптингу
    Ответов: 0
    Последнее сообщение: 10.03.2014, 17:12
  3. Что такое foreach и с чем его едят?
    от Sabnik в разделе Вопросы по скриптингу
    Ответов: 2
    Последнее сообщение: 19.10.2013, 21:03
  4. [Python] Выражения
    от Несквик в разделе Другие языки
    Ответов: 0
    Последнее сообщение: 21.05.2013, 20:16

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •