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\.\-]+

04.03.2022 7:13:23

Please leave your feedback about this article

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.