|
Алфавит, используемый в регулярных выражениях
Регулярные выражения, которые можно использовать для создания
словаря пользовательского языка.
Название в списке |
Условное обозначение в поле |
Пример использования |
Любой символ |
. (точка) |
к.т — допускает слова типа «кит», «кот» и т.п. |
Символ из группы |
[] |
[й-р]от — допускает слова типа «йот», «иот», «кот», «лот», «рот» и т.п.; [тм]от — допускает слова тот и мот. |
Символ не из группы |
[^] |
[^т]от — допускает слова «кот», «лот», но не допускает слова «тот»;
[^й-к]от — допускает слова «бот», «вот», рот, но не допускает слова «йот», «кот». |
Или |
| |
пл(о|а)т — допускает слова «плот» и «плат». |
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 |
|
|
@ |
Зарезервировано в качестве служебного слова. |
Замечание:
- Чтобы использовать служебные символы не как служебные, а как полноценные, ставьте перед ними «обратный слэш»
(\), например, [t-v]x+ допускает такие слова, как
tx, txx, txxx и т.д., ux, uxx и т.д,
vx, vxx и т.д. Выражение \[t-v\]x+ допускает слова [t-v]x, [t-v]xx, [t-v]xxx и т.д.
- Для того чтобы объединить в группу отдельные элементы регулярного выражения,
можно воспользоваться скобками. Например, выражение (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\.\-]+
|