Regex w C#
Wyrażenie regularne to wzór używany do dopasowywania, wyszukiwania i manipulowania tekstem; Można go używać do różnych zadań, w tym sprawdzania poprawności danych wejściowych, wyszukiwania określonych wzorów w ciągu i zastępowania tekstu na podstawie określonych wzorców.
Przykłady C# Regex
W C# wyrażenia regularne są wdrażane za pośrednictwem klasy Regex, która zapewnia metody tworzenia, dopasowywania i manipulowania wyrażeniami regularnymi. Klasa Regex jest częścią przestrzeni nazw, która jest zawarta w .Ramy netto, oto cztery przykłady omówione w tym przewodniku:
Przykład 1: Dopasowanie prostego wzoru - C# Regex
W tym przykładzie użyjemy Regex, aby dopasować prosty wzór w ciągu. Utworzymy obiekt Regex, który pasuje do wzoru „CAT” i użyjemy go do wyszukiwania wzoru w ciągu.
za pomocą systemu;W tym kodzie tworzymy obiekt Regex, który pasuje do wzorca „Witamy” i używamy go do wyszukiwania wzoru w ciągu „Witaj i witamy w Linuxhint.„Metoda dopasowania zwraca obiekt dopasowania, który zawiera informacje o meczu, w tym pozycję meczu i wartość dopasowania. Jeśli znaleziono dopasowanie, drukujemy wartość dopasowania do konsoli, a jeśli nie zostanie znalezione dopasowanie, drukujemy wiadomość wskazującą, że nie znaleziono dopasowania, oto wyjście kodu:
PRZYKŁAD 2: Wyodrębnienie podrzędnych z ciągu - C# Regex
W tym przykładzie użyjemy Regex do wyodrębnienia podrzędnych z ciągu. Utworzymy obiekt Regex, który pasuje do wzoru dla prawidłowego numeru telefonu i użyjemy go do wyodrębnienia kodu obszarowego z ciągu numeru telefonu.
za pomocą systemu;W tym kodzie tworzymy obiekt Regex, który pasuje do wzoru dla kodu obszarowego numeru telefonu, który jest zamknięty w nawiasach. Używamy właściwości grupowego obiektu meczowego, aby uzyskać dostęp do przechwyconej grupy, która zawiera kod obszarowy.
Wyrażenie regularne @”\ ((\ D 3) \) (\ d 3)-(\ d 4)” Dopasowuje cały wzór numeru telefonu, który składa się z kodu obszarowego zamkniętego w nawiasach, przestrzeni i trzech cyfr, a następnie łącznika i czterech cyfr. Pierwsza grupa przechwytująca (\ D 3) odpowiada kodowi obszaru, druga grupa przechwytująca (\ d 3) odpowiada trzem cyfrom po przestrzeni, a trzecia grupa przechwytująca (\ d 4) odpowiada czterema cyfry po łączniku. Jeśli nie znaleziono żadnego dopasowania, drukujemy komunikat wskazujący, że nie znaleziono dopasowania, oto wyjście kodu:
Przykład 3: Zastąpienie podłoża w ciągu - C# Regex
W tym przykładzie użyjemy Regex do zastąpienia podłoża w ciągu. Utworzymy obiekt Regex, który pasuje do wzoru dla słowa, i użyjemy go do zastąpienia wszystkich wystąpień słowa „pies” słowem „kot” w danym ciągu.
za pomocą systemu;Ten kod pokazuje, jak użyć zamiennika (), aby zastąpić pierwsze wystąpienie wyrażenia regularnego w ciągu nowej wartości. W tym kodzie tworzymy obiekt Regex, który pasuje do wzoru „Hello”. Używamy metody zastępowania, aby zastąpić wszystkie wystąpienia wzoru „Pozdrowienia”, a wynikowy ciąg jest następnie drukowany do konsoli, a oto wyjście kodu:
Przykład 4: Podział ciągu - C# Regex
W tym przykładzie użyjemy Regex do podziału ciągu na podjawy. Utworzymy obiekt Regex, który pasuje do wzoru dla Whitespace, i użyjemy go do podziału danego ciągu na tablicę podłoża.
za pomocą systemu;W tym kodzie tworzymy obiekt Regex, który pasuje do wzorca znaków Whitespace, takich jak przestrzenie i karty. Używamy metody podziału do podziału ciągów wejściowych na tablice podrzędne, używając wzoru Whitespace jako ogranicznika. Powstałe podkład są następnie drukowane do konsoli za pomocą pętli foreach, a oto wyjście kodu:
Ten kod pokazuje, jak używać split (), aby podzielić ciąg na tablicę podłoża na podstawie dopasowania wyrażenia regularnego. W tym przypadku wyrażenie regularne pasuje do jednego lub więcej znaków Whitespace (\ S+), więc ciąg wejściowy jest podzielony na trzy podjazdy: „Hello”, „and” i „Witamy w Linuxhint”.
Przykład 5: Korzystanie z wyrażenia regularnego do weryfikacji wejścia - C# Regex
W tym przykładzie użyjemy Regex do sprawdzania danych wejściowych od użytkownika. Utworzymy obiekt Regex, który pasuje do wzorca prawidłowego adresu e -mail i użyjemy go do weryfikacji danych wejściowych dostarczonych przez użytkownika.
za pomocą systemu;W tym kodzie tworzymy obiekt Regex, który pasuje do wzorca prawidłowego adresu e -mail. Wzór jest złożonym wyrażeniem regularnym, który pasuje do formatu typowego adresu e -mail. Używamy metody ISMACH, aby sprawdzić, czy dane wejściowe dostarczone przez użytkownika pasuje do wzoru, a jeśli wejście pasuje do wzoru, drukujemy wiadomość wskazującą, że adres e -mail jest prawidłowy, jeśli wejście nie pasuje do wzoru, drukujemy wiadomość wskazując, że adres e -mail jest nieprawidłowy.
Niektóre wspólne wyrażenia od regularności
Tabela wyrażeń od regularności zawiera listę wspólnych wzorców wyrażeń regularnych używanych do manipulacji tekstem w C#. Kolumna „Wyrażenie” zawiera rzeczywistą składnię używaną do dopasowywania tekstu, podczas gdy kolumna „Opis” zawiera krótkie wyjaśnienie funkcji wzorca:
Wyrażenie | Opis |
„X, y” | Dopasowuje się między występowaniem x i y poprzedniego znaku lub grupy |
„+” | Pasuje do jednego lub więcej z poprzedniej postaci lub grupy |
„^” | Odpowiada początkowi ciągu |
„[]” | Pasuje do dowolnej postaci w nawiasach |
"N" | Odpowiada dokładnie n wystąpieniu poprzedniego znaku lub grupy |
„[^]” | Pasuje do dowolnej postaci nie w nawiasach |
"." | Pasuje do dowolnej pojedynczej postaci oprócz nowej linii |
„$” | Odpowiada koniec łańcucha |
"S" | Dopasowuje dowolny znak Whitespace (przestrzeń, karta, Newline itp.) |
"\S" | Pasuje do dowolnego postaci nie-białej |
„W” | Dopasowuje dowolny znak słów (litera, cyfra lub podkreślenie) |
"\D" | Dopasowuje dowolną cyfrę (0-9) |
„()” | Grupuje razem serię postaci |
„W” | Pasuje do dowolnej postaci bez słowa |
Pasuje do jednego lub więcej z poprzedniej postaci lub grupy | |
"\D" | Odpowiada dowolnej postaci, która nie jest cyfrą |
Wniosek
Podsumowując, wyrażenia regularne są potężnym sposobem pracy z danymi tekstowymi w C#. Te 5 przykładów pokazuje wszechstronność Regex, od prostego dopasowania wzoru do bardziej zaawansowanych operacji, takich jak walidacja i manipulacja ciągami. Opanowując Regex, możesz znacznie zwiększyć swoją zdolność do pracy z danymi tekstowymi w C#.