Регулярні вирази PHP для ефективного порівняння рядків
Добре, початківці з програмування, вітаємо вас в одній з найцікавіших – і в той же час, іноді дуже втомлюючих – частин бути бек-енд розробником. Сьогодні ми зануримося у чарівний світ регулярних виразів PHP.
Пам’ятаєте той час, коли ви грали у хованки, намагаючись знайти того одного пустунчика друга? Ну, регулярні вирази (regex) в PHP схожі на це, але замість цього ви шукаєте збігаючіся шаблони у рядках. І повірте мені, ці шаблони можуть бути дуже заздрісними насправді.
Тож, підготуйтеся, надійте детективні окуляри і давайте почнемо!
Що таке регулярні вирази?
Перед тим як ми поглибимось у конкретику того, як працює PHP regex, давайте розкриємо, що таке регулярні вирази. У кінці кінців, регулярні вирази – це послідовність символів, які утворюють шаблон пошуку. Так що не панікуйте, я знаю, що термін “шаблон пошуку” може звучати так, ніби ви збираєтесь зайнятися детективною роботою у стилі Шерлока Холмса, але насправді все набагато простіше (хоча не так красиво).
Регулярні вирази PHP – Основи
Пам’ятаєте круті фільми про хакерів, де головний герой просто вводить зелений текст на чорному екрані? Це не регулярні вирази. Вибачте за розчарування, але пам’ятайте, ми маємо справу з реальним програмуванням тут, а не з Голлівудом.
У PHP підтримуються два стиля Regex – POSIX і Perl. Тут ми не будемо обирати улюбленця, але ми будемо працювати з Perl, оскільки він є найбільш часто використовуваним і, щиро кажучи, більш дружелюбним з двох.
У PHP, щоб використовувати регулярні вирази у стилі Perl, ви будете користуватися функцією preg_match(). Отже, надіймайте вашу найбільш зручну капелюшину для кодування та зручно розташуйтеся з наступним синтаксисом:
preg_match(‘шаблон’, $subject)
Тут ‘шаблон’ – це регулярний вираз, який ви хочете знайти, а $subject – це рядок, де ви хочете знайти шаблон. Просто, чи не так?
Таємниця Шаблонів
Шаблони в PHP regex починаються і закінчуються роздільником. Найчастіше використовуваними роздільниками є косі лінії (/), але ви також можете використовувати хеш (#) або тильду (~) серед інших. Якщо ви хочете по-справжньому відчути себе хакером з Голлівуду, дозвольте собі використовувати різні роздільники. Я віддам перевагу добрим старим косим лініям, дякую вам багато.
Рядки можуть бути складною справою, як та математична рівняння, яку ви ніколи не зрозуміли ще в сьомому класі. Але навпаки від тих математичних класів, регулярні вирази PHP на вашому боці.
Практичний погляд на PHP Regex
Скажімо, ви працюєте з відгуками клієнтів і хочете знайти всі випадки, коли клієнти згадали “фантастичний сервіс”. Тепер ви можете переглянути кожен відгук по черзі, або можете бути розумними і використовувати PHP regex. Ось як виглядатиме використання preg_match():
preg_match(‘/фантастичний сервіс/’, $відгук)
Це знайде “фантастичний сервіс” у вашому рядку $відгуків та поверне кількість разів, коли вони зустрічаються. Якщо він нічого не знайде, просто поверне порожній рядок. Без драми, обіцяю!
Заключення
Я знаю, регулярні вирази PHP можуть здатися на перший погляд страшними, як зустріч з левом у перший день роботи в зоопарку. Але насправді це дуже корисний інструмент, особливо коли мова йде про роботу з рядками в PHP.
Пам’ятайте, шановний читачу, ми не кодуємо кошенят, ми кодуємо левів! Проведіть деякий час, щоб пограти з різними регулярними виразами та ознайомитися з синтаксисом. І перш ніж ви зрозумієте, ви будете виявляти шаблони як професіонал, а regex вже не здасться таким лякаючим, як раніше.
До наступного разу – приємного кодування!