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

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

Име на елемент Стандартен символ на регулярен израз Примери за използване и обяснения
Произволен символ . c.t — означава "cat", "cot" и др.
Символ от група []

[b-d]ell — означава "bell", "cell", "dell" и др.

[ty]ell — означава "tell" и "yell"

Символ извън група [^]

[^y]ell — означава "dell", "cell", "tell", но забранява "yell"

[^n-s]ell — означава "bell", "cell", но забранява "nell", "oell", "pell", "qell", "rell" и "sell"

Или | c(a|u)t — означава "cat" и "cut"
0 или повече съвпадения * 10* — означава числа 1, 10, 100, 1000 и др.
1 или повече съвпадения + 10+ — позволява числа 10, 100, 1000 и др., но забранява 1
Буква или цифра [0-9a-zA-Zа-яА-Я]

[0-9a-zA-Zа-яА-Я] — позволява единичен символ

[0-9a-zA-Zа-яА-Я]+ — позволява всяка дума

Главна латинска буква [A-Z]
Малка латинска буква [a-z]
Главна буква на кирилица [А-Я]
Малка буква на кирилица [а-я]
Цифра [0-9]
@ Запазен.

Забележка:

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

02.11.2018 16:19:10

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.