Урок 11. Подвыражения в шаблоне

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

От автора: в этом уроке мы познакомимся с логическим оператором ИЛИ, а также рассмотрим вопрос использования подвыражений в шаблоне.

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

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

lesson

Все уроки курса:

Метки:

Комментарии (2)

  1. Вероника

    Спасибо за урок! Андрей, такой вопрос: в домашнем задании Вы используете метатеги начала и конца строки, как я понимаю, для выборки данных из какого-то текста или списка. Если же это регулярное выражение составлено для валидации введенных пользователем данных, правильнее ли использовать метатеги начала и конца слова? Ведь подразумевается, что номер карты, как и дата введется пользователем в поле формы только одной строкой, а не двумя или более. Или я ошибаюсь? Заранее спасибо.

    • Андрей Кудлай

      Пожалуйста, Вероника. В данном варианте мы как раз обязаны использовать метасимволы начала и конца строки. Тем самым мы провалидируем всю строку от начала до конца и гарантированно обеспечим получение именно номера карты, а не чего-либо еще. Когда мы валидируем данные из формы (логин, email, номер карты и т.д.), то мы всегда должны проверять всю строку, поэтому и используем символы ^ и $. Если их не использовать, тогда поле вполне пройдет валидацию, если там будет номер карты и кроме него что угодно еще… а этот вариант нас не устраивает.
      А вот примеры:
      1. Здесь мы не используем символы начала и конца строки, тем самым ищем что-то в строке, а не проверяем всю строку целиком. И это ошибочный вариант, поскольку строка пройдет валидацию, но кроме номера карты там есть лишние данные.
      2. Здесь мы уже используем метасимволы начала/конца строки, т.е. проверяем всю строку и она, как и положено, не проходит валидацию. При этом строка, в которой только номер карты, успешно валидируется.

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree