Алфавит, используемый в регулярных выражениях

Регулярные выражения, которые можно использовать для создания словаря пользовательского языка.

Название в списке Условное обозначение в поле Пример использования
Любой символ . (точка) к.т — допускает слова типа «кит», «кот» и т.п.
Символ из группы [] [й-р]от — допускает слова типа «йот», «иот», «кот», «лот», «рот» и т.п.; [тм]от — допускает слова тот и мот.
Символ не из группы [^] [^т]от — допускает слова «кот», «лот», но не допускает слова «тот»; [^й-к]от — допускает слова «бот», «вот», рот, но не допускает слова «йот», «кот».
Или | пл(о|а)т — допускает слова «плот» и «плат».
0 или больше совпадений * 10* — допускает числа 1, 10, 100, 1000 и т.д.
1 или больше совпадений + 10+ — допускает числа 10, 100, 1000 и т.д.
Буква или цифра [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, txxx и т.д., ux, uxx и т.д, vx, vxx и т.д. Выражение \[t-v\]x+ допускает слова [t-v]x, [t-v]xx, [t-v]xxx и т.д.
  2. Для того чтобы объединить в группу отдельные элементы регулярного выражения, можно воспользоваться скобками. Например, выражение (a|b)+|c допускает букву c и комбинации букв a и b любой длины и последовательности (abbbaaabbb, ababab и т.д.), в том время как выражение a|b+|c допускает лишь a, c и b, а также комбинации bb, bbb и т.д.

Примеры регулярных выражений

Вы распознаете таблицу, в одной колонке которой написана дата рождения, в другой — фамилия, имя и отчество, а в третьем поле — адрес электронной почты. Вы можете создать новые языки: Data и Address — и задать для них регулярные выражения.

Для даты:

Число месяца может состоять из одной цифры (например, 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]).

Собирая все вместе и учитывая, что при использовании служебных символов не как служебных, а как полноценных нужно ставить перед ними «обратный слэш» (\), получим:

((|0)[1-9])|([1|2][0-9])|(30)|(31)\. ((|0)[1-9])|(10)|(11)|(12)\.((19)[0-9][0-9])|([0-9][0-9])

Для электронной почты:

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