Przykłady wyrażeń regularnych

Poniższe przykłady pokazują sposoby korzystania z prostych wyrażeń regularnych i ich konstrukcję. W każdym przykładzie podano typ tekstu dopasowania, co najmniej jedno dopasowane wyrażenie regularne oraz uwagi, wyjaśniające zastosowanie znaków specjalnych i formatowania.

Dodatkowe instrukcje i wskazówki znajdziesz w artykułach na temat składni RE2 oraz używania wyrażeń regularnych. Zobacz też Konfigurowanie reguł zgodności treści.

Ważne: obsługujemy tylko składnię RE2, która różni się nieco od składni PCRE. W wyrażeniach regularnych domyślnie rozróżniana jest wielkość liter.

Dopasowanie tylko do dokładnego wyrażenia

Dopasowanie tylko do dokładnego wyrażenia
Przykład użycia Dopasowanie do anglojęzycznego wyrażenia stock tips (porady giełdowe).
Przykłady wyrażeń regularnych Przykład 1: (\W|^)stock\stips(\W|$)

Przykład 2: (\W|^)stock\s{0,3}tips(\W|$)

Przykład 3: (\W|^)stock\s{0,3}tip(s){0,1}(\W|$)
Uwagi
  • \W odpowiada wszelkim znakom, które nie są literą, cyfrą ani znakiem podkreślenia. Zapobiega to dopasowaniu wyrażenia regularnego do znaków przed wyrażeniem i po nim.
  • W przykładzie 2 argument /s odpowiada spacji, a {0,3} oznacza, że między słowami stock i tip może pojawić się do trzech spacji.
  • ^ odpowiada początkowi nowego wiersza. Umożliwia to dopasowanie wyrażenia regularnego do wyrażenia, jeśli znajduje się ono na początku wiersza, a przed nim nie ma żadnych znaków.
  • $ odpowiada końcowi wiersza. Umożliwia to dopasowanie wyrażenia regularnego do słowa, jeśli znajduje się ono na końcu wiersza, a za nim nie ma żadnych znaków.
  • W przykładzie 3 argument (s) odpowiada literze s, a {0,1} wskazuje, że litera ta może wystąpić 0 razy lub 1 raz po słowie tip. Dzięki temu wyrażenie regularne odpowiada wyrażeniom stock tipstock tips. Możesz też użyć znaku ? zamiast {0,1}.

Dopasowanie do słowa lub wyrażenia na liście

Dopasowanie do słowa lub wyrażenia na liście
Przykład użycia Dopasowanie do dowolnego słowa lub wyrażenia na następującej liście:
  • bzdury
  • cholera
  • głupota
  • podłość
  • niegodziwe oszustwo
  • chamstwo
Przykład wyrażenia regularnego (?i)(\W|^)(bzdury|cholera|głupota|podłość|niegodziwe\soszustwo|chamstwo)(\W|$)
Uwagi
  • Nawiasy (...) grupują wszystkie słowa, dzięki czemu klasa znaków \W ma zastosowanie wobec wszystkich wyrazów w nawiasie.

  • (?i) wyłącza rozróżnianie wielkości liter przy dopasowywaniu treści.

  • \W odpowiada wszelkim znakom, które nie są literą, cyfrą ani znakiem podkreślenia. Zapobiega to dopasowaniu wyrażenia regularnego do znaków poprzedzających słowa i wyrażenia na liście lub występujących po nich.

  • ^ odpowiada początkowi nowego wiersza. Umożliwia to dopasowanie wyrażenia regularnego do słowa, jeśli znajduje się ono na początku wiersza, a przed nim nie ma żadnych znaków.

  • $ odpowiada końcowi wiersza. Umożliwia to dopasowanie wyrażenia regularnego do słowa, jeśli znajduje się ono na końcu wiersza, a za nim nie ma żadnych znaków.

  • | oznacza „albo”, tak więc wyrażenie regularne odpowiada dowolnemu słowu na liście.

  • \s odpowiada spacji. Znak ten służy do rozdzielania słów w wyrażeniu.

Dopasowanie do słowa o zróżnicowanej pisowni lub ze znakami specjalnymi

Dopasowanie do słowa o zróżnicowanej pisowni lub ze znakami specjalnymi

Przykład użycia

Dopasowanie do wyrażenia szybka kasa i zaciemniania kodu stosowanego przez spamerów, na przykład:
  • szybk@ k@sa
  • $zybk@ k@$a
  • $zybka ka$a
Przykład wyrażenia regularnego

f[a4@][s5\$][t7] +c[a4@][s5\$]h

Uwagi
  • Nie podano klasy znaków (\W), co oznacza, że przed wszystkimi wariantami wyrażenia szybka kasa i po nich mogą wystąpić inne znaki. Wyrażenie regularne będzie więc odpowiadać wyrażeniu szybka kasa w następującym tekście:

Szybka kasa!! lub ***szybk@ka$a***

  • [a4@] odpowiada znakom a, 4 lub @ na drugiej pozycji w słowie, odzwierciedlając użycie liter, które są stosowane przez spamerów do unikania prostych dopasowań tekstu.

Dopasowanie do dowolnych adresów e-mail w domenie

Dopasowanie do dowolnych adresów e-mail w domenie
Przykład użycia Dopasowanie do dowolnego adresu e-mail w domenach yahoo.com, hotmail.com i gmail.com.
Przykład wyrażenia regularnego (\W|^)[\w.+\-]{0,25}@(yahoo|hotmail|gmail)\.com(\W|$)
Uwagi
  • \W odpowiada wszelkim znakom, które nie są literą, cyfrą ani znakiem podkreślenia. Zapobiega to dopasowaniu wyrażenia regularnego do znaków przed adresem e-mail i po nim.
  • ^ odpowiada początkowi nowego wiersza. Umożliwia to dopasowanie wyrażenia regularnego do adresu, jeśli znajduje się on na początku wiersza, a przed nim nie ma żadnych znaków.
  • $ odpowiada końcowi wiersza. Umożliwia to dopasowanie wyrażenia regularnego do adresu, jeśli znajduje się on na końcu wiersza, a za nim nie ma żadnych znaków.
  • [\w.\-] odpowiada dowolnemu znakowi wyrazowemu (a-z, A-Z, 0-9 lub znakowi podkreślenia), kropce lub łącznikowi. Są to najczęściej używane poprawne znaki w pierwszej części adresu e-mail. Fragment \- (oznaczający łącznik) musi pojawić się jako ostatni na liście znaków w nawiasach kwadratowych.
  • Znak \ przed łącznikiem i kropką wskazuje, że łącznik i kropka mają być traktowane jako zwykłe znaki, a nie znaki specjalne wyrażenia regularnego. Nie ma potrzeby takiego oznaczania kropki w nawiasach kwadratowych.
  • {0,25} oznacza, że przed znakiem @ może wystąpić od 0 do 25 znaków z określonego zestawu. Ustawienie zgodności treści poczty e-mail obsługuje dopasowywanie do 25 znaków w przypadku każdego zestawu znaków w wyrażeniu regularnym.
  • Nawiasy (...) grupują domeny, a rozdzielający je znak | oznacza „albo”.

Dopasowanie do dowolnego adresu IP w zakresie

Dopasowanie do dowolnego adresu IP w zakresie
Przykład użycia Dopasowanie do dowolnego adresu IP w zakresie od 192.168.1.0 do 192.168.1.255.
Przykłady wyrażeń regularnych Przykład 1: 192\.168\.1\.
Przykład 2: 192\.168\.1\.\d{1,3}
Uwagi
  • Znak \ przed każdą kropką wskazuje, że kropka ma być traktowana jako zwykły znak, a nie znak specjalny wyrażenia regularnego.
  • W przykładzie 1 za ostatnią kropką nie ma znaków, co oznacza, że wyrażenie regularne odpowiada wszystkim adresom IP zaczynającym się od 192.168.1., niezależnie od tego, jakie cyfry pojawiają się dalej.
  • W przykładzie 2 \d odpowiada dowolnej cyfrze od 0 do 9, występującej po ostatniej kropce, a {1,3} oznacza, że na tej pozycji może wystąpić od 1 do 3 cyfr. W tym przypadku wyrażenie regularne będzie dopasowane do każdego kompletnego adresu IP zaczynającego się od 192.168.1. To wyrażenie regularne będzie dopasowane też do nieprawidłowych adresów IP, takich jak 192.168.1.999.

Dopasowanie do formatu alfanumerycznego

Dopasowanie do formatu alfanumerycznego
Przykład użycia Dopasowanie do numerów zamówienia w firmie. Numery takie mogą mieć różne formaty, na przykład:
  • PO nn-nnnnn
  • PO-nn-nnnn
  • PO# nn nnnn
  • PO#nn-nnnn
  • PO nnnnnn
Przykład wyrażenia regularnego (\W|^)po[#\-]{0,1}\s{0,1}\d{2}[\s-]{0,1}\d{4}(\W|$)
Uwagi
  • \W odpowiada wszelkim znakom, które nie są literą, cyfrą ani znakiem podkreślenia. Zapobiega to dopasowaniu wyrażenia regularnego do znaków przed liczbą i po niej.
  • ^ odpowiada początkowi nowego wiersza. Umożliwia to dopasowanie wyrażenia regularnego do liczby, jeśli znajduje się ona na początku wiersza, a przed nią nie ma żadnych znaków.
  • $ odpowiada końcowi wiersza. Umożliwia to dopasowanie wyrażenia regularnego do liczby, jeśli znajduje się ona na końcu wiersza, a za nią nie ma żadnych znaków.
  • [#\-] odpowiada znakowi funta lub łącznikowi po literach PO, a {0,1} oznacza, że jeden z tych znaków może wystąpić zero razy lub raz. Fragment - (oznaczający łącznik) musi pojawić się jako ostatni na liście znaków w nawiasach kwadratowych.
  • \s odpowiada spacji, a {0,1} oznacza, że spacja może wystąpić zero razy lub raz.
  • \d odpowiada dowolnej cyfrze od 0 do 9, a {2} oznacza, że na tej pozycji w numerze muszą wystąpić dokładnie 2 cyfry.