Регулярные выражения PHP

Ромчик
1

Регулярные выражения PHPДоброго времени суток. В данной статье мы поговорим о регулярных выражениях. Регулярное выражение — это шаблон записанный специальным образом по которому мы можем найти подстроку (строку), т.е. это образец, состоящий из символов и метасимволов задающий правило поиска. И мы как раз поговорим о правилах создания регулярных выражений.

Сразу у Вас может возникнуть вопрос “А за чем они нужны?”. Давайте я приведу пример, у нас есть строка “Мама мыла раму” и нам необходимо найти слово “раму”. Да, в  PHP есть функция strpos(), которая возвращает подстроку в строке. И в этом случае лучше воспользоваться именно этой функцией, чем регулярным выражением. А теперь представьте есть строка “yandex.ru, mail.ru, google.com, web-programming.com.ua” и нам необходимо найти все URL содержащие “.ru”. А теперь представьте, что данная строка еще и меняется, и мы не всегда знаем ее содержимое. Вот тут нам без регулярных выражений никак не обойтись.

Кванторы

Квантификатор — это специальная конструкция, определяющая, сколько раз должен встретиться символ или группа символов.

* 0 или больше
*? 0 или больше, не жадный
+ 1 или больше
+? 1 или больше, не жадный
? 0 или 1
?? 0 или 1, не больше
{3} ровно 3
{3,} 3 или больше
{3,5} 3, 4 или 5
{3,5}? 3, 4 или 5, нежадный

Диапазоны

Диапазон — это специальная конструкция, определяющая диапазон поиска.

. (точка) Любой символ, кроме переноса строки (\n)
(a|b) a или b
[abc] Диапазон (a или b или с)
[^abc] Не a, не b, не с
[a-z] Буква между a и z
[A-Z] Буква между A и Z в верхнем регистре
[0-5] Цифра между 0 и 5

Якоря

Якорь — специальная конструкция, определяющее обязательное положение символа

^ Начало строки
$ Конец строки

Символьные классы

\s (в нижнем регистре) Пробел
\S (в верхнем регистре) Не пробел
\d (в нижнем регистре) Цифра
\D (в верхнем регистре) Не цифра
\w (в нижнем регистре) Слово
\W (в верхнем регистре) Не слово
\xhh Шестнадцатиричный символ hh

Специальные символы

\ Экранирующий символ
\n Перевод строки (новая строка)
\r Возврат коретки
\t Табуляция

Модификаторы шаблонов

i Регистронезависимый шаблон
m Многострочный текст
s Считать текст одной строкой
x Разрешить комментарии и пробелы в шаблоне
U не жадный шаблон

Примеры шаблонов

Поиск букв и цифр одна или больше: ([A-Za-z0-9]+)
Поиск слова login или logout: (login|logout)
Поиск сайтов в домене ru: (\w)+\.ru

Мы с Вами познакомились с правилами составления шаблонов поиска при помощи регулярных выражений.

Понравилась статья? Поделись с друзьями.
  • Add to favorites
  • Добавить ВКонтакте заметку об этой странице
  • Twitter
  • Facebook
  • Мой Мир
  • LiveJournal
  • Одноклассники
  • Блог Я.ру
  • MySpace
  • FriendFeed
  • В закладки Google
  • Google Buzz
  • Яндекс.Закладки
  • Reddit
  • StumbleUpon
  • Technorati
  • del.icio.us
  • БобрДобр
  • LinkedIn
  • Memori.ru
  • Сто закладок
  • Blogger

  • Роуты в kohana | Все о WEB программировании - 22.05.2012 в 15:37

    […] выражениях Вы можете подробно почитать в статье Регулярные выражения PHP Итак, мы с вами создали три правила для Kohana, по которым […]

  • ©2012-2017 По всем вопросам обращайтесь через форму обратной связи

    Яндекс.Метрика