Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Введення в регулярні вираження

  1. Що таке регулярні вирази.
  2. Область застосування.
  3. Різновиди регулярних виразів.
  4. Основні поняття.
  5. Основи синтаксису регулярних виразів.

Основи регулярних виразів, базовий синтаксис і використання, різновиди регулярних виразів в PHP.

Що таке регулярні вирази.

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

Область застосування.

В IT регулярні вирази використовуються в різних мовах програмування, скрипти і інтегрованих середовищах, текстових редакторах, компіляторах і утиліти для пошуку, аналізу та різного перетворення текстів.
Може виникнути питання, чому регулярні вирази краще звичайного пошуку? Цей інструмент дуже ефективний, як кажуть фахівці, в разі нечіткого пошуку, кажучи образно, коли треба знайти «то, не знаю, що». Спробуйте, наприклад, знайти в великому тексті всілякі варіанти простого слова «вода» - «водний», «водяний», «підводний» і т.п. За допомогою регулярних виразів ви з цим завданням легко впораєтеся.

Різновиди регулярних виразів.

Як всякий корисний інструмент, регулярні вирази обросли безліччю різних доповнень, діалектів і напрямків. Я зупинюся на їх використанні в серверних скриптах.
Існує два основні стандарти регулярних виразів - POSIX і PCRE.
POSIX (portable operating system interface for Unix) - в даний час вважається застарілим, але підтримується більшістю скриптів і мов програмування.
PCRE (Perl Compatible Regular Expressions) - даний стандарт перевершує попередній за своїми можливостями і швидкості роботи. Він вбудований в ядро ​​Perl, звідки очевидно і почав переможний хід. Втім, в ядро ​​PHP, він також вбудований.
Обидва варіанти багато в чому схожі. У більш просунутому, наприклад, додані спеціальні символи і параметри, що спрощують шаблон і роблять пошук більш гнучким. Інші діалекти в основному доповнюють стандарти додатковими можливостями, а й базові настільки широкі, що я сумніваюся, що ви будете їх використовувати на 100%. Іншими словами, сміливо освоюйте цей інструмент в будь-якому вигляді, відмінності незначні.

Основні поняття.

Основа регулярних виразів - це побудова пошукову послідовність (шаблону) за допомогою спеціальної мови, куди входять набори символів, метасимволов і різні параметри пошуку.
У найпростішому випадку в шаблоні вказують встановлено декілька або спеціальних символів, які потім шукаються в тексті на збіг. Коли потрібно знайти, наприклад, кілька варіантів набору символів, або прив'язати шаблон пошуку до початку або кінця слова додатково використовують спеціальні символи (метасимволи) і керуючі параметри. Все просто, складність лише в тому, щоб знати правила їх використання. Основні терміни і правила побудови шаблонів і будуть приведені в статті.
Ніхто не хоче вважатися консерватором, ваш покірний слуга в тому числі, тому в подальшому матеріалі будемо дотримуватися стандарту PCRE.
Отже, почнемо з базових понять.
Подшаблон - частина рядка пошуку, виділена дужками (), називається подшаблоном і використовується для виділення цієї групи з метою подальшої обробки.
Метасимволи - це спеціальні символи, які використовуються для позначення груп символів, невидимих символів, управління режимом пошуку, наприклад, «.», «^», «$», «*» І т.д.
Клас - в шаблоні регулярних виразів може зустрічатися група символів (або весь шаблон) в квадратних дужках - це клас. Він дозволяє знайти підрядок з будь-яким з символів, перерахованих в класі. Наприклад, за допомогою шаблону «л [еи] с» будуть знайдені слова «ліс» і «лисиць».
Квантіфікатор регулярного виразу визначає кількість повторень попереднього набору символів в шаблоні. Вказується в фігурних дужках після переліку символів. Може бути використаний для одиночного символу, символьного класу, метасимвола «.», Подшаблона і зворотного посилання. Для найбільш уживаних значень кількості повторень використовуються свої метасимволу.
Якір регулярного виразу - це спеціальний символ, який вказує, в якій частині тексту або рядки шукати подстроку шаблону. Наприклад, за шаблоном / ^ ab / можуть бути знайдені рядки, що починаються з поєднання «аб».

Основи синтаксису регулярних виразів.

При формуванні шаблону в регулярних виразах використовуються наступні угоди:

  • шаблон пошуку завжди є рядком, відокремлювану спеціальним символом, загальноприйнято використовувати для цього зворотний слеш «\», наприклад, \ шаблон_поіска \;
  • шаблоном може виступати звичайний символ або набір символів;
  • після закриває шаблон зворотного слеша може бути вказаний необов'язковий список модифікаторів пошуку, наприклад, шаблон \ абракадабра \ / m дозволить знайти підрядок «абракадабра» у всіх рядках тексту;
  • набір символів, укладений у квадратні дужки дозволяє знайти слова з будь-яким символом з набору, наприклад, за шаблоном [світ] буде знайдено світ, рим, світогляд і т.п. У дужках можна вказувати через дефіс діапазон символів, наприклад, [а-в];
  • щоб використовувати метасимвол в якості звичайного символу шаблону його випереджають зворотним слешем, наприклад, щоб використовувати «.» в шаблоні, треба вказати [program \ .exe];
  • якщо зворотний слеш в шаблоні ставиться перед звичайним символом, він перетворює його в метасимвол, наприклад, шаблон «\ d» визначає пошук будь-цифри;
  • альтернативні послідовності розділяються символом '|', але всередині класу це буде звичайний символ. Наприклад, \ ліс | лисиць \ відповідає і «лисиць» і «ліс»;
  • всередині регулярного виразу можна вказувати «подшаблони» укладаючи їх в круглі дужки. Поясню на прикладі. Шаблон «пар (Оход | ОВНС)» збігається з кожним із слів «паровоз», «пароплав» і «пар», а без подшаблона такого результату досягти складніше. Подшаблони для доступу до них нумеруються по мірі появи;
  • прапори, вказуються в кінці шаблону, дають вказівки по виду пошуку, наприклад, ігнорувати регістр символу.

На цьому досить для початку знайомства з регулярними виразами. В наступній статті , Побудованої у вигляді довідника, будуть приведені дані, достатні для витонченого використання регулярних виразів.

Це може бути Вам цікаво:

Може виникнути питання, чому регулярні вирази краще звичайного пошуку?

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.