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

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

Име на елемент Стандартен символ на регулярен израз Примери за използване и обяснения
Произволен символ . 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