1. Подтвердите допустимый формат электронной почты.
В следующем примере кода используется статический метод Regex.IsMatch, чтобы проверить, находится ли строка в допустимом формате электронной почты. Метод IsValidEmail возвращает true, если строка содержит действительный адрес электронной почты, в противном случае — false, но никаких других действий не предпринимает. Вы можете использовать IsValidEmail для фильтрации адресов электронной почты, содержащих недопустимые символы, прежде чем ваше приложение сохранит адрес в базе данных или отобразит его на странице ASP.NET.
[Визуальный базовый]
Функция IsValidEmail(strIn As String) как логическое значение
' Возвращаем true, если строка имеет действительный формат электронной почты.
Вернуть Regex.IsMatch(strIn, ("^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[ 0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3 })(]?)$")
Конечная функция
[C#]
bool IsValidEmail (строка strIn)
{
// Возвращаем true, если строка имеет действительный формат электронной почты.
return Regex.IsMatch(strIn, @"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[ 0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3 })(]?)$");
}
2. Очистите входную строку
В следующем примере кода используется статический метод Regex.Replace для извлечения недопустимых символов из строки. Вы можете использовать определенный здесь метод CleanInput для очистки потенциально вредоносных символов, введенных в текстовое поле в форме, которая принимает ввод пользователя. CleanInput возвращает строку после очистки всех небуквенно-цифровых символов, кроме @, - (дефис) и .
[Визуальный базовый]
Функция CleanInput(strIn As String) As String
' Заменяем недопустимые символы пустыми строками.
Вернуть Regex.Replace(strIn, "[^w.@-]", "")
Конечная функция
[C#]
Строка CleanInput (строка strIn)
{
// Заменяем недопустимые символы пустыми строками.
return Regex.Replace(strIn, @"[^w.@-]", "");
}
3. Изменение формата даты
В следующем примере кода используется метод Regex.Replace для замены формата даты мм/дд/гг на формат даты дд-мм-гг.
[Визуальный базовый]
Функция MDYToDMY(ввод как строка) Как строка
Вернуть Regex.Replace(input, _
"b(?<месяц>d{1,2})/(?<день>d{1,2})/(?<год>d{2,4})b", _
«${день}-${месяц}-${год}»)
Конечная функция
[C#]
Строка MDYToDMY (строковый ввод)
{
вернуть Regex.Replace(вход,
" \b(?<месяц>\d{1,2})/(?<день>\d{1,2})/(?<год>\d{2,4})\ б ",
"${день}-${месяц}-${год}");
}
Шаблон замены регулярных выражений
В этом примере показано, как использовать именованные обратные ссылки в шаблоне замены Regex.Replace. где выражение замены ${day} вставляет подстроку, захваченную группой (?<day>...).
Функция Regex.Replace — одна из нескольких статических функций, которые позволяют работать с регулярными выражениями без создания явного объекта регулярного выражения. Это удобно, если вы не хотите сохранять скомпилированное регулярное выражение.
4. Извлечение информации об URL-адресе.
В следующем примере кода используется Match.Result для извлечения протокола и номера порта из URL-адреса. Например, «http://www.contoso.com:8080/letters/readme.html» вернет «http:8080».
[Визуальный базовый]
Расширение функции (url как строка) как строка
Dim r As New Regex("^(?<proto>w+)://[^/]+?(?<port>:d+)?/", _
RegexOptions.Скомпилировано)
Вернуть r.Match(url).Result("${proto}${port}")
Конечная функция
[C#]
Расширение строки (URL-адрес строки)
{
Regex r = new Regex(@"^(?<proto>w+)://[^/]+?(?<port>:d+)?/",
RegexOptions.Compiled);
return r.Match(url).Result("${proto}${port}");
}