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

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

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

Забележка:

  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, и т.н.

Примери

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

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

Числото, което означава ден, може да се състои от една цифра (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])

Регулярен израз за имейл адреси:

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

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