#c# #regex
Вопрос:
У меня есть представление razor с вводом, который использует этот шаблон:
pattern="^[a-zA-Z0-9._ -] amp;#64mydomain.com"
Он отлично работает при использовании в качестве интерфейсной проверки. Однако как я могу преобразовать его в регулярное выражение, если я также хочу проверить внутреннюю часть вещей?
Мои электронные письма построены следующим образом:
«firstname.lastname@mydomain.com»
Я уже пробовал это:
Regex regex = new Regex("\^\[a-zA-Z0-9\._\ -]\ amp;#64mydomain\.com", RegexOptions.IgnoreCase);
Однако это работает не так, как я ожидаю, так как условие всегда ложно.
Есть ли другой способ заставить этот шаблон работать с регулярным выражением?
Заранее спасибо!
Ответ №1:
Прямой перевод вашего регулярного выражения в регулярное выражение C# .NET будет выглядеть следующим образом
Regex regex = new Regex(@"^[A-Z0-9._ -] @mydomain.com$", RegexOptions.IgnoreCase);
Примечание. В регулярных выражениях .NET нет проблем с @
обработкой символов, поэтому @
их можно закодировать как @
.
Подробные сведения:
^
— начало строки[A-Z0-9._ -]
— одно или несколько (A-Z
, она не чувствительна к регистру из-за используемой опции регулярного выражения), цифр (0-9
),.
_
,-
@mydomain.com
—@mydomain.com
струна$
— конец веревки.
Комментарии:
1. Виктор Стрибизев, большое вам спасибо. Это сработало. Я ценю вашу помощь!