W skrócie
- Składa się z sekwencji atomów (atom to literał - litera, cyfra, znak specjalny)
- Wielkość liter ma znaczenie
- Można przetestować regexy w narzędziach online typu: https://regex101.com/
Kwantyfikatory
Kwantyfikator mówi ile może być wystąpień danego atomu. Kwantyfikator odnosi się do elementu położonego po lewej stronie od kwantyfikatora. Jeżeli przy atomie nie ma kwantyfikatora to oznacza, że atom będzie miał jedno wystąpienie (w przykładach poniżej atom b
ma zawsze jedno wystąpienie.
*
- zero lub więcej wystąpieńnp.
a*b
może przekładać się między innymi na wyrażenia:b
,ab
,aab
,aaaaaaab
, …+
- jedno lub więcej wystąpieńnp.
a+b
może przekładać się między innymi na wyrażenia:ab
,aab
,aaaaab
, …?
- zero lub jedno wystąpienienp.
a?b
przekłada się nab
,ab
{min,max}
- Co najmniejmin
wystąpień, a maksymalniemax
wystąpieńnp.
a{2,4}b
przekłada się na wyrażenia:aab
,aaab
,aaaab
{min,}
- Co najmniejmin
wystąpień. Maksymalnie może być nieskończenie wiele.{,max}
- Nie ma minimalnej liczby wystąpień, a maksymalnie może byćmax
wystąpień{n}
- dokładna liczba wystąpień równan
np.
a{4}b
- przekłada się na:aaaab
Zakresy []
Zakres oznacza, że wyrażenie może być jedną literą/cyfrą z zakresu. Myślnik -
oznacza zakres od, do.
[abc]
- oznacza, że wyrażeniem będziea
lubb
lubc
(tylko jedna litera)[a-bB-Z]
- wyrażeniem może byća
,b
,B
,C
,D
, …,Z
[a-Z]
- wyrażeniem może być każdy anglojęzyczny znak (duży lub mały)[0-9]
- wyrażeniem może być każda cyfra[a-ZąćęłńóśźżĄĘŁŃÓŚŹŻ]
- zakres wszystkich polskich znaków.
Grupy ()
(ab){2}
- oznacza wyrażenieabab
Flagi
(?i)
- ignorowanie wielkości liter z prawej strony od tego znaku
Znaki specjalne
.
- każdy znak$
- koniec wiersza (jeśli użyjemy ten znak na końcu to oznacza, że nie ma żadnego znaku po poszukiwanym wyrażeniu.^
- początek wiersza (jeśli użyjemy ten znak na początku to oznacza, że nie ma żadnego znaku przed poszukiwanym wyrażeniem.[^e]
- negacja - wyrażenie nie będzie zawierało literye
.|
- znak oznacza logiczne lub, czyli wyrażeniem będzie dowolne wyrażenie oddzielone znakiem|
np.
a|b
- oznaczaa
lubb
\s
- Spacja, tabulator lub znak nowego wiersza\S
- Znak który jest negacją\s
, czyli znak, który nie jest spacją, tabulatorem lub znakiem nowego wiersza\w
- litera, cyfra lub znak_
(zapis równoważny do[a-Z_]
\W
- znak który jest negacją\w
czyli taki znak, który nie jest literą, cyfrą lub znakiem_
\d
- cyfra (digit) (zapis równoważny do[0-9]
)\D
- znak który jest negacją\d
czyli taki znak, który nie jest cyfrą\b
- Dowolny znak odstępu, początku łancucha, końca łańcucha oraz dowolnego znaku, który nie jest ani literą ani cyfrą.
Jeżeli chcemy użyć w wyrażeniu regularnym jednego ze znaków specjalnych takich jak .
, *
, /
, ?
, :
, .
, ^
, +
, \
, =
, |
, to poprzedzamy go znakiem \
czyli np. \.