Регулярні вирази PHP «Все про WEB програмуванні

  1. квантори
  2. діапазони
  3. якоря
  4. Символьні класи
  5. Спеціальні символи
  6. модифікатори шаблонів
  7. приклади шаблонів

21.05.2012 Ромчик

1

Доброго часу доби Доброго часу доби. У даній статті ми поговоримо про регулярні вирази. Регулярний вираз - це шаблон записаний спеціальним чином за яким ми можемо знайти підрядок (рядок), тобто це зразок, що складається з символів і метасимволов задає правило пошуку. І ми якраз поговоримо про правила створення регулярних виразів.

Відразу у Вас може виникнути питання "А за чим вони потрібні?". Давайте я наведу приклад, у нас є рядок "Мама мила раму" і нам необхідно знайти слово "раму". Так, в 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, ні з [az] Буква між a і z [AZ] Буква між 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

Ми з Вами познайомилися з правилами складання шаблонів пошуку за допомогою регулярних виразів.

Сподобалася стаття? Поділися з друзями.

Відразу у Вас може виникнути питання "А за чим вони потрібні?
Або більше *?
Або більше, не жадібний + 1 або більше +?
Або більше, не жадібний?
Або 1 ?
Або 1, максимум {3} рівно 3 {3,} 3 або більше {3,5} 3, 4 або 5 {3,5}?
Сподобалася стаття?