Dopasowywanie wzorca przy użyciu języka Visual C# i wyrażeń regularnych

W tym artykule krok po kroku przedstawiono sposób tworzenia wyrażeń regularnych i używania ich do określania, czy ciągi są zgodne z określonymi wzorcami.

Oryginalna wersja produktu: Visual C#
Oryginalny numer KB: 308252

Podsumowanie

Wyrażenia regularne umożliwiają łatwe analizowanie i dopasowywanie ciągów do określonego wzorca. Korzystając z obiektów dostępnych w RegularExpressions przestrzeni nazw, można porównać ciąg z danym wzorcem, zastąpić wzorzec ciągu innym ciągiem lub pobrać tylko części sformatowanego ciągu. W tym przykładzie utworzymy wzorzec w celu zweryfikowania adresu e-mail. Ten artykuł odnosi się do przestrzeni System.Text.RegularExpressionsnazw biblioteki klas microsoft .NET Framework .

Wymagania

W tym artykule założono, że znasz następujące tematy:

  • Visual C#
  • Składnia wyrażeń regularnych

Używanie wyrażeń regularnych do dopasowania wzorca

  1. Uruchom program Visual C#.

  2. Utwórz nową aplikację konsolową języka Visual C#.

  3. Określ słowo kluczowe using w przestrzeni nazw, aby nie było wymagane kwalifikowanie deklaracji w tych przestrzeniach nazw w dalszej Text.RegularExpressions części kodu. Instrukcja using musi być używana przed innymi deklaracjami:

    using System.Text.RegularExpressions;
    
  4. Zdefiniuj nowe wyrażenie regularne, które będzie używać dopasowania wzorca do weryfikowania adresu e-mail. Następujące wyrażenie regularne ma strukturę, aby osiągnąć trzy rzeczy:

    1. Przechwyć podciąg przed symbolem @ i umieść go w grupie user .
    2. Przechwyć podciąg po symbolu @ i umieść go w grupie host .
    3. Upewnij się, że pierwsza połowa ciągu nie ma symbolu @ .
    Regex emailregex = new Regex("(?<user>[^@]+)@(?<host>.+)");
    
  5. Zdefiniuj nowy ciąg zawierający prawidłowy adres e-mail. Zapewnia to wartość domyślną, jeśli argument wiersza polecenia metody jest pusty:

    String s = "johndoe@tempuri.org";
    
  6. Sprawdź, czy istnieją jakiekolwiek parametry wiersza polecenia; Jeśli istnieją, pobierz pierwszy parametr i przypisz go do zmiennej s.

    if (args.Length > 0) {
        s = args[0];
    }
    
  7. Użyj metody , Match aby przekazać zmienną adresu e-mail i zwrócić nowy Match obiekt. Obiekt Match będzie zwracany niezależnie od tego, czy w ciągu źródłowym znaleziono jakiekolwiek dopasowania.

    Match m = emailregex.Match(s);
    
  8. Sprawdzając Success właściwość, możemy zdecydować, czy kontynuować przetwarzanie obiektu Match , czy wydrukować komunikat o błędzie. Jeśli to się powiedzie user , wyświetl i host nazwane grupy w Groups kolekcji obiektu 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. Aby otworzyć okno konsoli po uruchomieniu aplikacji, dodaj następujące wiersze kodu:

    System.Console.WriteLine("Press Enter to Continue...");
    System.Console.ReadLine();
    
  10. Skompiluj projekt.

  11. Aby uruchomić aplikację w środowisku deweloperskim przy użyciu domyślnego adresu e-mail określonego w kodzie, naciśnij klawisz F5 lub wybierz pozycję Rozpocznij z menu Debugowanie . Aby uruchomić aplikację za pomocą argumentu wiersza polecenia, istnieją trzy opcje:

    • W menu Project (Projekt ) kliknij pozycję Właściwości, a następnie kliknij pozycję Debuguj. W sekcji Opcje uruchamiania w okienku po prawej stronie określ adres e-mail, który chcesz przetestować. Naciśnij klawisz F5 lub kliknij przycisk Start w menu Debugowanie , aby uruchomić aplikację.
    • Uruchom okno polecenia i przejdź do folderu bin lub debugowania w folderze, w którym znajduje się projekt. Następnie wpisz nazwę pliku wykonywalnego, po którym następuje adres e-mail, który chcesz przetestować.
    • Znajdź plik wykonywalny dla tego projektu i przeciągnij go do przycisku Start... Uruchom okno na pasku zadań. Dodaj adres e-mail do zweryfikowania, a następnie kliknij przycisk OK.

Informacje