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.RegularExpressions
nazw 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
Uruchom program Visual C#.
Utwórz nową aplikację konsolową języka Visual C#.
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;
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:
- Przechwyć podciąg przed symbolem
@
i umieść go w grupieuser
. - Przechwyć podciąg po symbolu
@
i umieść go w grupiehost
. - Upewnij się, że pierwsza połowa ciągu nie ma symbolu
@
.
Regex emailregex = new Regex("(?<user>[^@]+)@(?<host>.+)");
- Przechwyć podciąg przed symbolem
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";
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]; }
Użyj metody ,
Match
aby przekazać zmienną adresu e-mail i zwrócić nowyMatch
obiekt. ObiektMatch
będzie zwracany niezależnie od tego, czy w ciągu źródłowym znaleziono jakiekolwiek dopasowania.Match m = emailregex.Match(s);
Sprawdzając
Success
właściwość, możemy zdecydować, czy kontynuować przetwarzanie obiektuMatch
, czy wydrukować komunikat o błędzie. Jeśli to się powiedzieuser
, wyświetl ihost
nazwane grupy wGroups
kolekcji obiektuMatch
.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 ();
Aby otworzyć okno konsoli po uruchomieniu aplikacji, dodaj następujące wiersze kodu:
System.Console.WriteLine("Press Enter to Continue..."); System.Console.ReadLine();
Skompiluj projekt.
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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla