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 Dopasuj wyrażenie stock tips.
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 dopasowywaniu znaków przed wyrażeniem lub po nim.
  • W przykładzie 2 \s odpowiada spacji, a {0, 3} oznacza,że między słowami stocktip może wystąpić od 0 do 3 spacji.
  • ^ 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.
  • 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,
  • drat
  • fooey
  • gosh darnit
  • cholera
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 dopasowywaniu przez wyrażenie regularne znaków przed słowami lub wyrażeniami na liście albo 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:
  • szybka kasa
  • $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 Dopasuj dowolny adres e-mail z domen yahoo.com, hotmail.comgmail.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 lub 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 Dopasuj dowolny adres IP z zakresu 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 dopasowywaniu przez wyrażenie regularne znaków przed liczbą lub 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.