Регулярные выражения
Синтаксические конструкции (модификаторы) в регулярных выражениях
7 Февраль
Метасимволы для сопоставления с отдельными символами
| Символ | Описание |
|---|---|
| Обычные символы | Символы кроме .$^{[(|)*+?\ соответствуют сами себе |
| \b | Соответствует возврату на одну позицию (забой) |
| \t | Соответствует табуляции |
| \r | Соответствует возврату каретки |
| \v | Соответствует вертикальной табуляции |
| \f | Соответствует переводу страницы |
| \n | Соответствует новой строке |
| \ | Если за ним следует специальный символ (один из .$^{[(|)*+?\), соответствует литеральной константе этого символа. Например, \+ соответствует символу + |
Метасимволы для сопоставления с типами символов
| Класс Символов | Описание |
|---|---|
| . | Соответствует любому символу кроме \n |
| [aeiou] | Соответствует каждому отдельному символу, приведённому во множестве |
| [^aeiuo] | Соответствует любому символу, не приведённому во множестве |
| [3-7a-dA-D] | Соответствует любому символу, приведённому в определённых диапазонах |
| \w | Соответствует любому символу из слова, т.е. любому алфавитно-цифровому символу или символу подчёркивания |
| \W | Соответствует любому символу, не применяемому в словах |
| \s | Соответствует любому символу разделителя (пробел, табуляция, перевод страницы, новая строка, возврат каретки либо вертикальная подача) |
| \S | Соответствует любому непробельному символу. |
| \d | Соответствует любому десятичному символу. |
| \D | Соответствует любому недесятичному символу. |
Квантификаторы
| Квантификатор | Описание |
|---|---|
| * | ноль или более совпадений |
| + | Одно или более совпадений |
| ? | Ноль или одно совпадение |
| {N} | N совпадений |
| {N,} | N или более совпадений |
| {N,M} | Между N и M совпадений (включительно) |
Типичные регулярные выражения в ASP.net
6 Февраль
// Минимальная длина -5, максимальная длина - 20
// Разрешенные символы: a-z, A-Z, 0-9
@"^[a-zA-Z0-9.]{5,20}$"
Внимание: знаки вставки (^) и разделителей денежных знаков ($) указывают здесь на то, что с выражением должна сравниваться вся введённая строка. Без этих символов выражение будет определять лишь наличие шаблона в строке. Это может привести к другим результатам.
В примеры шаблонов, поставляемых вместе с RegularExpressionValidator, не включены разделители, об этом не надо забывать.
// Минимальная длина -5, максимальная длина - 30
// Разрешенные символы: a-z, A-Z, [пробел]
@"^[a-zA-Z ']{5,30}$"
// Минимальная длина -5, максимальная длина - 20
// Разрешенные символы: a-z, A-Z, 0-9
// Первый символ: a-z, A-Z
@"^[a-zA-Z]{1}[a-zA-Z0-9.]{5,19}$"
e-mail, типовые регулярные выражения для электронной почты
// Действительный адрес электронной почты
@"^\w+([-+. ']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
// e-mail: строка начинается с определённого количества символов (.*)
// и содержит символ @,
// а также еще минимум 1 символ для имени домена, точку (\.),
// и хотя бы 2 символа для расширения домена
".*@.{1,}\..{2}"
// e-mail: Обязательно должен присутствовать символ @ и точка (.),
// допускает наличие только непробельных символов
"\S+@\S+\.\S+"
Для проверки адреса электронной почты могут применяться самые разнообразные регулярные выражения, обладающие самой разной степенью сложности. Дополнительную информацию по этому вопросу и примеры можно найти по адресу http://4guysfromrolla.com/webtech/validateemail.shtml
Пароли
// Допускает любую последовательность словесных символов
// (букв, пробелов или символов подчеркивания)
"\w+"
// Пароль специфической длины
// Должен состоять не менее чем из 4,
// но и не более 10 символов
"\w{4,10}"
// Расширенный пароль
// Длина пароля от 4 до 10 символов
// Первый символ находится в диапазоне a-z или A-Z
// то есть должен начинаться с обычной буквы
"[a-zA-Z]\w{3,9}"
// Расширенный пароль
// Начинается с буквенного символа,
// за которым следует ноль или более словесных символов
// потом одна или более цифр
// затем снова ноль или более словесных символов
// То есть в пароле должна содержаться цифра
"[a-zA-Z]\w*\d+\w*"
Шаблоны
// Номер: 456-56-7894
// Последовательность групп из трёх, двух, затем четырёх цифр
// каждая из которых отделяется дефисом
// Может использоваться при вводе телефонного номера
"\d{3}-\d{2}-\d{4}"
Свежие комментарии