Сопоставление шаблона с помощью Visual C# и регулярных выражений

В этой пошаговой статье описывается создание и использование регулярных выражений для определения соответствия строк определенным шаблонам.

Исходная версия продукта: Visual C#
Исходный номер базы знаний: 308252

Сводка

Регулярные выражения позволяют легко анализировать и сопоставлять строки с определенным шаблоном. Используя объекты, доступные RegularExpressions в пространстве имен, можно сравнить строку с заданным шаблоном, заменить шаблон строки другой строкой или получить только части форматируемой строки. В этом примере мы создадим шаблон для проверки адреса электронной почты. В этой статье описывается пространство System.Text.RegularExpressionsимен библиотеки классов Microsoft платформа .NET Framework .

Требования

В этой статье предполагается, что вы знакомы со следующими разделами:

  • Visual C#
  • Синтаксис регулярных выражений

Использование регулярных выражений в соответствии с шаблоном

  1. Запустите Visual C#.

  2. Создайте консольное приложение Visual C#.

  3. Укажите ключевое слово using в Text.RegularExpressions пространстве имен, чтобы позже в коде не требовалось указывать объявления в этих пространствах имен. Инструкция using должна использоваться перед любыми другими объявлениями:

    using System.Text.RegularExpressions;
    
  4. Определите новое регулярное выражение, которое будет использовать совпадение шаблона для проверки адреса электронной почты. Следующее регулярное выражение структурировано для выполнения трех задач:

    1. Запишите подстроку перед символом @ и поместите ее в группу user .
    2. Запишите подстроку после символа @ и поместите ее в группу host .
    3. Убедитесь, что первая половина строки не содержит символа @ .
    Regex emailregex = new Regex("(?<user>[^@]+)@(?<host>.+)");
    
  5. Определите новую строку, содержащую допустимый адрес электронной почты. Это значение предоставляет значение по умолчанию, если аргумент командной строки метода пуст:

    String s = "johndoe@tempuri.org";
    
  6. Проверьте наличие параметров командной строки. Если они есть, получите первый параметр и назначьте его переменной s.

    if (args.Length > 0) {
        s = args[0];
    }
    
  7. Используйте метод для Match передачи переменной адреса электронной почты и возврата нового Match объекта. Объект Match возвращается независимо от того, были ли найдены совпадения в исходной строке.

    Match m = emailregex.Match(s);
    
  8. Изучив Success свойство, можно решить, следует ли продолжать обработку Match объекта или печатать сообщение об ошибке. В случае успешного выполнения отобразите user именованные группы и host в Groups коллекции Match объекта .

    if (m.Success)
    {
        Console.WriteLine ("User: " + m.Groups["user"].Value);
        Console.WriteLine ("Host: " + m.Groups["host"].Value);
    }
    else
    {
        Console.WriteLine (s + " is not a valid email address");
    }
    Console.WriteLine ();
    
  9. Чтобы окно консоли оставалось открытым после запуска приложения, добавьте следующие строки кода:

    System.Console.WriteLine("Press Enter to Continue...");
    System.Console.ReadLine();
    
  10. Выполните построение проекта.

  11. Чтобы запустить приложение в среде разработки, используя адрес электронной почты по умолчанию, указанный в коде, нажмите клавишу F5 или выберите Пуск в меню Отладка . Чтобы запустить приложение с аргументом командной строки, можно выбрать три варианта:

    • В меню Проект выберите пункт Свойства, а затем — Отладка. В разделе Параметры запуска на панели справа укажите адрес электронной почты, который требуется проверить. Нажмите клавишу F5 или нажмите кнопку Пуск в меню Отладка , чтобы запустить приложение.
    • Запустите командное окно и перейдите к папке bin или debug под папкой, в которой находится проект. Затем введите имя исполняемого файла, а затем адрес электронной почты, который требуется проверить.
    • Найдите исполняемый файл для этого проекта и перетащите его в меню Пуск... Окно запуска на панели задач. Добавьте адрес электронной почты для проверки и нажмите кнопку ОК.

Ссылки