Регулярное выражение C# для настраиваемой электронной почты и домена

#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._ -] — одно или несколько ( ) вхождений любой буквы ASCII ( A-Z , она не чувствительна к регистру из-за используемой опции регулярного выражения), цифр ( 0-9 ), . _ , и -
  • @mydomain.com @mydomain.com струна
  • $ — конец веревки.

Комментарии:

1. Виктор Стрибизев, большое вам спасибо. Это сработало. Я ценю вашу помощь!