PHP wyrażenia regularne: przykłady, preg_match

PHP wyrażenia regularne

Wyrażenie regularne to nic innego, jak szablon ciągu. Definiując wyrażenie możemy w dowolny sposób określić format stringa. Narzędzie bardzo przydatne w przypadku sprawdzania poprawności wpisywanych tekstów, jak np. adresu e-mail lub danych osobowych. Wykorzystując wyrażenia regularne możemy również wyszukać oraz podmienić wszystkie podciągi znajdujące się w tekście, które pasują do wpisanej formuły.

W tej lekcji poznamy podstawy konstrukcji wyrażeń regularnych oraz funkcje sprawdzającą występowanie szablonu w ciągu znaków. Zaczniemy od prostego przykładu:

<?php

// konstrukcja wyrażenia regularnego
$wyrazenie = '/^[a-z]+$/';

// preg_match() sprawdza występowanie wyrażenia w ciągu
if(preg_match($wyrazenie, $tekst)) 
   echo("Tekst zawiera tylko małe litery bez polskich znaków.");
else 
   echo("Tekst zawiera dodatkowe znaki.");

?>

Przeanalizujmy powyższy kod. Do zmiennej $wyrazenie przypisaliśmy nasz wzorzec w postaci wyrażenia regularnego (omówienie konstrukcji za chwilę). Na chwilę obecną sprawdza on jedynie, czy ciąg zawiera wyłącznie małe litery bez polskich znaków. Następnie funkcja preg_match($wyrazenie, $tekst) sprawdza, czy w ciągu $tekst znajduje się szablon $wyrazenie. Zwraca TRUE, jeżeli dopasuje szablon lub FALSE, jeśli nie.

Tworzenie wyrażeń regularnych

Na podstawie wyrażenia wpisanego w poprzednim przykładzie omówię ogólne zasady. Wyrażenie regularne musi znaleźć się pomiędzy ukośnikami „/ … /„. W przypadku przypisania do zmiennej nie możemy zapomnieć o apostrofach! Następnie każde wyrażenie regularne należy rozpocząć znakiem ^ oraz zakończyć znakiem $. Są to tak zwane znaki początku i końca.

Między tymi granicami wpisujemy żądaną formułę. W naszym przypadku były to małe litery od a do z. By wpisać przedział znaków wykorzystujemy nawiasy kwadratowe [ ]. Możemy między nimi wpisać dowolne przedziały, np.: [a-eA-E0-7], wtedy wzorcem będą tylko takie ciągi, które zawierają w sobie jedynie małe i wielkie litery od a do e oraz cyfry od 0 do 7.

Tym zakończę wprowadzenie do wyrażeń regularnych. W kolejnej lekcji poznamy dodatkowe wzorce formatowania szablonu, takie jak zaprzeczenia, ilość znaków i wiele innych. Zapraszam na następną lekcję!

Spis lekcji w rozdziale czwartym

Poprzednia lekcja: Manipulacja ciągami Następna lekcja: Wzorce wyrażeń regularnych

2 Responses on this post

  1. Akurat zacząłem przerabiać wyrażenia regularne i coś jest nie tak, w powyższym skrypcie sprawdzane jest czy występują w tekście tylko małe litery bez polskich znaków. Dlaczego więc po wpisaniu słowa np. „litwo” wyskakuje informacja że tekst zawiera dodatkowe znaki ?

Dodaj komentarz