Регулярни изрази

Таблицата по-долу съдържа списък на регулярните изрази, които могат да се използват за създаване на речник за потребителски език.

Забележка:

  1. За да използвате символ на регулярен израз като нормален символ, поставете пред него наклонена черта наляво. Например [t-v]x+ означава tx, txx, txx и др., ux, uxx и др., но \[t-v\]x+ означава [t-v]x, [t-v]xx, [t-v]xxx и др.
  2. За да групирате елементи на регулярни изрази, използвайте скоби. Например (a|b)+|c означава „c“ или всяка комбинация като abbbaaabbb, ababab и др. (дума с дължина, различна от нула, в която може да има произволен брой „a“ и „b“ в произволен ред), докато a|b+|c означава a, c, и b, bb, bbb, и т.н.

Примери

Да предположим, че разпознавате таблица с три колони: рождени дати, имена и e-mail адреси. В този случай можете да създадете два нови езика, Данни и Адрес, и да зададете за тях следните регулярни изрази.

Регулярни изрази за дати:

Числото, което означава ден, може да се състои от една цифра (1, 2 и т.н.) или две цифри (02, 12), но не може да е нула (00 или 0). Регулярният израз за ден следователно ще изглежда така: ((|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]).

Сега трябва да комбинираме всичко това заедно и да разделим числата с точка (например 1.03.1999). Точката е символ на регулярен израз, затова пред нея трябва да поставите наклонена черта наляво (\). Регулярният израз за дата следователно ще изглежда така:

((|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])

Регулярен израз за e-mail адреси:

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

14.01.2020 17:26:18

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.