Wyrazenia regularne

Poniższa tabela zawiera wyrażenia regularne, których można użyć przy tworzeniu słownika dla własnego języka.

Element Symbol w wyrażeniu regularnym Przykłady użycia i wyjaśnienia
Dowolny znak . k.t — pasuje do „kot”, „kat” itd.
Znak z grupy []

[b-d]ela — pasuje do „bela”, „cela”, „dela” itd.

[st]yp — pasuje do „syp” i „typ”

Znak spoza grupy [^]

[^r]ela — pasuje do „cela”, „bela”, „fela”, ale nie do „rela”

[^n-s]ell — pasuje do „bell”, „cell”, ale nie do „nell”, „oell”, „pell”, „qell”, „rell” ani „sell”

Lub | k(a|o)t — pasuje do „kat” i „kot”
0 lub więcej dopasowań * 10* — pasuje do liczb 1, 10, 100, 1000 itd.
1 lub więcej dopasowań + 10+ — pasuje do liczb 10, 100, 1000 itd., ale nie do 1
Litera lub cyfra [0-9a-zA-Zа-яА-Я]

[0-9a-zA-Zа-яА-Я] — pasuje do dowolnego pojedynczego znaku

[0-9a-zA-Zа-яА-Я]+ — pasuje do każdego słowa

Duża litera łacińska [A-Z]
Mała litera łacińska [a-z]
Wielka litera cyrylicy [А-Я]
Mała litera cyrylicy [а-я]
Cyfra [0-9]
@ Zastrzeżone.

Uwaga:

  1. Aby użyć symbolu wyrażenia regularnego jako normalnego znaku, należy go poprzedzić znakiem ukośnika (\). Na przykład: [t-v]x+ pasuje do słów tx, txx, txx itp., ux, uxx itp., ale \[t-v\]x+ pasuje do słów [t-v]x, [t-v]xx, [t-v]xxx itp.
  2. Aby pogrupować elementy wyrażenia regularnego, użyj nawiasów. Na przykład (a|b)+|c pasuje do c i kombinacji typu abbbaaabbb, ababab itp. (słowo dowolnej długości, w którym może zawierać się dowolna liczba liter a i b w dowolnej kolejności), a a|b+|c pasuje do a, c, oraz b, bb, bbb itp.

Przykłady

Załóżmy, że trzeba rozpoznać tabelę z trzema kolumnami: daty urodzin, nazwiska oraz adresy e-mail. W takim przypadku można utworzyć dwa nowe języki, Data i Adres, oraz zdefiniować dla nich następujące wyrażenia regularne.

Wyrażenie regularne dla dat:

Liczba oznaczająca dzień może się składać z jednej cyfry (1, 2 itp.) lub z dwóch cyfr (02, 12), ale nie może być zerem (00 lub 0). Wyrażenie regularne pasujące do numeru dnia powinno wyglądać następująco: ((|0)[1-9])|([1|2][0-9])|(30)|(31).

Wyrażenie regularne pasujące do numeru miesiąca: ((|0)[1-9])|(10)|(11)|(12).

Wyrażenie regularne pasujące do numeru roku: ([19][0-9][0-9]|([0-9][0-9])|([20][0-9][0-9]|([0-9][0-9]).

Należy jeszcze połączyć te wyrażenia w jedno i oddzielić liczby kropką (jak w przykładzie: 1.03.1999). Kropka jest znakiem wyrażenia regularnego, więc należy przed nią wstawić znak ukośnika (\).

Kompletne wyrażenie regularne przybierze wtedy następującą formę:

((|0)[1-9])|([1|2][0-9])|(30)|(31)\.((|0)[1-9])|(10)|(11)|(12)\.((19)[0-9][0-9])|([0-9][0-9])|([20][0-9][0-9]|([0-9][0-9])

Wyrażenie regularne dla adresów e-mail:

[a-zA-Z0-9_\-\.]+\@[a-z0-9\.\-]+

02.11.2018 16:19:46


Please leave your feedback about this article