Wyrażenia regularne

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

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

1/14/2020 5:26:20 PM


Please leave your feedback about this article