Регулярні вирази PHP «Все про WEB програмуванні
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}?
Сподобалася стаття?