c regex tutorial what is c regular expression
Ten samouczek języka C # Regex wyjaśnia, czym jest wyrażenie regularne w języku C #, jego składnię, metody klasy Regex i jak używać tych metod za pomocą przykładów:
Wyrażenie regularne w języku C # służy do dopasowywania określonego wzorca znaku. Wyrażenia regularne są używane, gdy użytkownik musi znaleźć powtarzający się wzorzec lub przeprowadzić walidację danych, a nawet sprawdzić formatowanie danych.
RegEx służy do sprawdzania, czy ciąg zawiera lub pasuje do danego wzorca znaku. Wyrażenie regularne to przede wszystkim sekwencja znaków oznaczająca wzorzec.
Wzorzec może być dowolną liczbą, od cyfr, znaków lub ich kombinacji. Regex jest szeroko stosowany do walidacji. Parsowanie lub dopasowywanie ciągów, na przykład, znajdowanie, czy ciąg pasuje do formatu waluty, numeru telefonu lub formatu daty.
=> Przeczytaj serię łatwych szkoleń C #.
różnica między testem jednostkowym a testem integracji
Czego się nauczysz:
Klasa Regex w C #
Klasa Regex jest używana w języku C # do wykonywania operacji regex. Zawiera kilka różnych metod, których można użyć do wykonywania różnych operacji związanych z wyrażeniem regularnym.
Może być używany do analizowania dużego tekstu w celu znalezienia określonej sekwencji znaków przy użyciu metod, które mogą służyć do dopasowywania, zastępowania lub mogą służyć do dzielenia sekwencji znaków.
Klasa regex znajduje się wewnątrz przestrzeni nazw; System.Text.RegularExpression. Klasa przyjmuje jako parametr ciąg znaków w postaci ciągu znaków.
Metody C # Regex
IsMatch
Najprostszą i najbardziej użyteczną metodą w klasie Regex jest metoda IsMatch. Ta metoda ma różne przeciążenia do wykonywania dopasowywania znaków na podstawie różnych parametrów.
Najprostszy to IsMatch (tekst ciągu) , ta metoda umożliwia użytkownikowi dostarczenie sekwencji znaków do dopasowania ciągu.
Drugie przeciążenie IsMatch (tekst ciągu, pozycja int). Ta metoda zwraca wartość logiczną i przyjmuje dwa parametry (ciąg i liczbę całkowitą). Tekst ciągu określony w parametrze jest w zasadzie konstruktorem wyrażenia regularnego, który będzie pasował do sekwencji znaków od pozycji początkowej określonej przez parametr liczby całkowitej.
W związku z tym ta metoda spróbuje dopasować ciąg wejściowy w pozycji podanej przez parametr będący liczbą całkowitą w danym ciągu.
Trzecie przeciążenie, IsMatch (tekst ciągu, wzorzec ciągu) akceptuje dwa parametry i zwraca wartość logiczną. Pierwszy parametr to tekst, w którym użytkownik musi znaleźć wzorzec, a następny parametr to wzorzec, którego użytkownik szuka w danym tekście.
Polecam czytanie = >> Dopasowywanie wzorców w MySQL
Zastąp (tekst ciągu, tekst zastępczy ciągu)
Metoda replace akceptuje dwa parametry i zwraca wartość ciągu. Pierwszy parametr to sekwencja znaków lub wyrażenie regularne, którego chcesz użyć do dopasowania, a drugi to zastąpienie wyrażenia regularnego.
Metoda działa poprzez wyszukanie dopasowania podanego tekstu, a następnie zastępuje go tekstem zastępczym podanym przez użytkownika. Podpis metody to public string Replace (tekst ciągu, tekst zastępczy ciągu)
Publiczny ciąg [] Split (tekst ciągu)
Metoda split z klasy regex akceptuje ciąg znaków wejściowych jako parametr i zwraca tablicę zawierającą podciągi. Parametr przekazany w metodzie to ciąg, który należy podzielić.
Metoda znajduje pasujący wzorzec wejściowy w ciągu i po zidentyfikowaniu dowolnego pasującego wzorca dzieli ciąg w tym miejscu na mniejszy podciąg, przy czym każdy pasujący wzorzec jest punktem przerwania. Następnie metoda zwraca tablicę zawierającą wszystkie podciągi.
Wykorzystanie metod Regex C #
Rzućmy okiem na użycie tych metod, pisząc prosty program.
public static void Main(string[] args) { string patternText = 'Hello'; Regex reg = new Regex(patternText); //IsMatch(string input) Console.WriteLine(reg.IsMatch('Hello World')); //IsMatch(string input, int index) Console.WriteLine(reg.IsMatch('Hello', 0)); //IsMatch(string input, string pattern) Console.WriteLine(Regex.IsMatch('Hello World', patternText)); //Replace(string input, string replacement) Console.WriteLine(reg.Replace('Hello World', 'Replace')); //Split(string input, string pattern) string[] arr = Regex.Split('Hello_World_Today', '_'); foreach(string subStr in arr) { Console.WriteLine('{0}', subStr); } }
Wynik powyższego programu
Prawdziwe
Prawdziwe
Prawdziwe
Zastąp świat
cześć
Świat
Dzisiaj
Wyjaśnienie dla powyższego kodu:
Na początku programu utworzyliśmy obiekt i dla wzorca, którego będziemy używać do dopasowywania kodu w kolejnym wprowadzaniu ciągu, użyliśmy formatowania tekstu, aby na początku wszystko było proste, ale jeśli czujesz się komfortowo, możesz zacznij używać wzorców wyrażeń regularnych. (W dalszej części tego samouczka omówimy szczegółowo wzór wyrażenia regularnego)
Następnie użyjemy ciągu dopasowania, aby wprowadzić czynnik, który zadeklarowaliśmy jako określony obiekt z ciągiem wejściowym, a jeśli pasuje, zwróci wartość false.
Następną metodą, której użyliśmy, jest IsMethod (ciąg wejściowy, indeks int). Ta metoda akceptuje dwuparametrowe, a tutaj podajemy ciąg wejściowy i indeks, od którego ma się rozpocząć dopasowanie. Na przykład, tutaj chcieliśmy rozpocząć dopasowywanie od początku ciągu wejściowego.
Następnie zademonstrowaliśmy użycie IsMatch (ciąg wejściowy, wzorzec ciągu). Tutaj dostarczyliśmy ciąg wejściowy, a następnie chcieliśmy sprawdzić, czy tekst wzorca jest obecny w danych wejściowych, czy nie. Jeśli jest obecny, zwróci true (tak jak w naszym przypadku), w przeciwnym razie zwróci false.
Zastąpiono inną metodę, o której rozmawialiśmy. Ta metoda jest bardzo przydatna w programach, w których chcesz wprowadzić zmiany w danych wejściowych lub zmienić format istniejących danych.
Tutaj podajemy dwa parametry, pierwszy to ciąg wejściowy, a drugi to ciąg, którego można użyć do zastąpienia poprzedniego ciągu. Ta metoda używa również wzorca zdefiniowanego w obiekcie regex, który zdefiniowaliśmy wcześniej.
Inną ważną metodą, której użyliśmy, jest podział. Ta metoda służy do dzielenia danego ciągu znaków na podstawie powtarzających się wzorców. W tym miejscu podaliśmy ciąg „Hello_World_Today”.
Powiedzmy, że chcemy usunąć podkreślenie z danego ciągu i pobrać podciągi. W tym celu określamy parametr wejściowy, a następnie podajemy wzorzec, którego musimy użyć jako punktu podziału. Metoda zwraca tablicę i możemy użyć prostej pętli, takiej jak foreach, do pobrania wszystkich ciągów.
Składnia wyrażeń regularnych
Istnieje kilka różnych składni, takich jak znaki specjalne, kwantyfikatory, klasy znaków itp., Których można użyć do dopasowania określonego wzorca z danego wejścia.
W tej części samouczka zagłębimy się w składnię oferowaną przez regex i spróbujemy rozwiązać niektóre rzeczywiste scenariusze za ich pomocą. Zanim przejdziemy dalej, upewnij się, że znasz podstawową koncepcję wyrażenia regularnego i różne metody dostępne w klasie wyrażenia regularnego.
Znaki specjalne
Znaki specjalne w wyrażeniu regularnym służą do przypisywania kilku różnych znaczeń do wzorca. Przyjrzymy się teraz niektórym z powszechnie używanych znaków specjalnych i ich znaczeniu w Regex
Znaki specjalne | Znaczenie |
---|---|
w i W | Małe litery „w” są używane do dopasowywania znaków alfanumerycznych / podkreślników, a wielkie litery „W” są używane do dopasowywania znaków niebędących słowami. |
^ | Jest to jedna z najczęściej używanych składni. Oznacza początek, słowo lub wzorzec po tym zaczyna dopasowywanie od początku tekstu wejściowego. |
$ | Ten znak jest używany do dopasowywania słów z końca łańcucha. Słowa / wzorce oznaczone przed tym symbolem będą zgodne ze słowami obecnymi na końcu ciągu. |
. (kropka) | Kropka służy do dopasowania pojedynczego znaku w danym ciągu występującym raz. |
n | Służy do nowej linii. |
d i D | Mała litera „d” jest używana do dopasowania cyfry, a duża litera „D” jest używana do dopasowywania znaków niebędących cyframi. |
s i S | Małe litery „s” są używane do dopasowywania białych spacji, a duże litery „S” są używane do dopasowywania innych niż białe znaki. |
Składnia kwantyfikatora
Składnia kwantyfikatora służy do liczenia lub określania ilościowego spełniających kryteriów. Na przykład, jeśli chcesz sprawdzić, czy określony ciąg zawiera alfabet jeden lub więcej razy. Przyjrzyjmy się niektórym z często używanych kwantyfikatorów w wyrażeniach regularnych.
Składnia kwantyfikatora | Znaczenie |
---|---|
* | Ten symbol służy do dopasowania poprzedniego znaku. |
+ | Ten symbol służy do dopasowania jednego lub więcej znaków w rzędzie. |
{n} | Cyfra numeryczna w nawiasach klamrowych służy do dopasowania liczby poprzedzającego znaku zdefiniowanego przez cyfrę w nawiasach klamrowych. |
{n,} | Cyfra w nawiasach klamrowych i ten symbol służy do upewnienia się, że pasuje co najmniej do n (tj. Wartość liczbowa w nawiasach klamrowych). |
{n, m} | Ten symbol jest używany do dopasowywania od poprzedzającego znaku od n razy do m razy. |
? | Ten symbol sprawia, że poprzedzające znaki są opcjonalne. |
Klasa postaci
Klasa znaków jest również nazywana zestawami znaków i służy do informowania silnika wyrażeń regularnych, aby szukał pojedynczego dopasowania spośród kilku znaków. Klasa znaków będzie pasować tylko do jednego znaku, a kolejność znaków zawartych w zestawie znaków nie ma znaczenia.
Klasa postaci | Znaczenie |
---|---|
[ zasięg ] | Symbol nawiasu kwadratowego służy do dopasowania zakresu znaków. Na przykład możemy go użyć do zdefiniowania dowolnego znaku z zakresu od alfabetu „a” do „z”, umieszczając zakres wewnątrz nawiasu, np. [A-z] Lub możemy również dopasować cyfry od „1” do „9”, oznaczając [1-9] |
[^ zakres] | To oznacza klasę znaków negacji. Służy do dopasowywania czegokolwiek, poza zakresem wskazanym w nawiasie. |
Służy do dopasowywania znaków specjalnych, które mogą mieć własne symbole wyrażeń regularnych. Ukośnik służy do dopasowania znaków specjalnych w ich dosłownej formie. |
Grupowanie
W celu zgrupowania części wyrażenia regularnego można użyć nawiasów okrągłych lub nawiasów. Dzięki temu użytkownik może dodać kwantyfikator z wyrażeniem.
Grupowanie | Znaczenie |
---|---|
(wyrażenie grupowe) | Nawiasy okrągłe służą do grupowania wyrażeń. |
| | | operator jest używany wewnątrz okrągłego nawiasu do użycia alternatywy, na przykład (a | b). |
Przykłady wyrażeń regularnych w języku C #
W poprzedniej sekcji dowiedzieliśmy się o symbolach wyrażeń regularnych, w tej sekcji przyjrzymy się szczegółowo używaniu różnych symboli w wyrażeniach regularnych i kombinacji, w jakich można ich używać do dopasowywania różnych wyrażeń.
W tym samouczku omówimy niektóre z najczęściej spotykanych rzeczywistych scenariuszy, z którymi możesz się spotkać jako programista podczas pracy nad jakąś aplikacją lub w prostym programie, aby uzyskać dane wejściowe użytkownika.
Przykład wyrażenia regularnego ze scenariuszami z życia wziętymi
Dowiedzmy się więcej o wyrażeniach regularnych, korzystając z przykładów w czasie rzeczywistym.
Scenariusz 1: Sprawdź, czy ciąg wejściowy składa się z 6-cyfrowych znaków alfabetu bez rozróżniania wielkości liter.
Najczęstszym scenariuszem wyrażenia regularnego jest znalezienie i dopasowanie danego słowa. Na przykład, załóżmy, że chcę otrzymać od użytkownika losowy ciąg alfabetyczny, który powinien mieć dokładnie 6 cyfr.
Aby potwierdzić, że możemy użyć prostego wyrażenia regularnego. Napiszmy program, który pozwoli lepiej zrozumieć pisanie i używanie wyrażeń regularnych.
public static void Main(string[] args) { string patternText = @'^[a-zA-Z]{6}$'; Regex reg = new Regex(patternText); //When pattern matches Console.WriteLine(reg.IsMatch('Helios')); //When pattern doesnt match Console.WriteLine(reg.IsMatch('Helo')); }
Wynik
Prawdziwe
Fałszywy
Wyjaśnienie
W tym przykładzie próbujemy zweryfikować ciąg wejściowy, aby sprawdzić, czy zawiera sześciocyfrowe znaki alfabetyczne. Znaki mogą być pisane zarówno małymi, jak i dużymi literami, więc również musimy wziąć to pod uwagę.
Więc tutaj zdefiniowaliśmy wzorzec wyrażenia regularnego w zmiennej „patternText”, a następnie przekazaliśmy go do obiektu regex. Teraz następne wiersze kodu są dość proste, użyliśmy metody IsMatch do porównania wyrażenia regularnego i ciągu wejściowego.
Przyjrzyjmy się teraz wyrażeniu regularnemu, które opracowaliśmy. Wyrażenie (^ [a-zA-Z] {6} $) składa się z 4 różnych części. „^”, „[A-zA-Z]”, „{6}” i „$”. Druga część oznacza pasujące znaki, które są używane do dopasowywania wyrażeń, „a-z” dla małych liter i „A-Z” dla dużych liter.
Znak „^” pierwszej części zapewnia, że ciąg znaków zaczyna się wzorem zdefiniowanym w drugiej części, tj. Małymi i dużymi literami.
Nawiasy klamrowe w trzeciej części określają liczbę znaków w ciągu, które można zidentyfikować za pomocą zdefiniowanego wzorca, czyli 6 w tym przypadku, a symbol „$” upewnia się, że kończy się on wzorem zdefiniowanym w drugiej części.
^ [a-zA-Z] {6} $
Scenariusz 2: Użyj wyrażenia regularnego, aby sprawdzić, czy słowo, które zaczyna się od „Super”, a po nim znajduje się spacja, tj. Aby sprawdzić, czy słowo „Super” znajduje się na początku zdania.
Załóżmy, że czytamy pewne dane wejściowe użytkownika i musimy się upewnić, że użytkownik zawsze zaczyna swoje zdanie od określonego słowa, liczby lub alfabetu. Można to dość łatwo osiągnąć, używając prostego wyrażenia regularnego.
Przyjrzyjmy się przykładowemu programowi, a następnie omówimy szczegółowo, jak napisać to wyrażenie.
public static void Main(string[] args) { string patternText = @'^Supers'; Regex reg = new Regex(patternText); //When pattern matches Console.WriteLine(reg.IsMatch('Super man')); //When pattern doesnt match Console.WriteLine(reg.IsMatch('Superhero')); }
Wynik
Prawdziwe
Fałszywy
Wyjaśnienie
Również w tym przykładzie użyliśmy podobnej konfiguracji kodu, jak w pierwszym. Wzorzec wyrażenia regularnego w tym scenariuszu wymaga dopasowania za pomocą kombinacji słów lub zdań zaczynających się od „Super”.
^ Super
Tak więc, ponieważ chcemy dopasować od początku serii słów, zaczniemy od umieszczenia symbolu „^”, a następnie podamy wzorzec, który chcemy dopasować, w tym przypadku „Super”. Teraz wzór, który stworzyliśmy „^ Super”, może pasować do wszystkich wartości super, nawet nadczłowieka lub nadprzyrodzonego, ale nie chcemy tylko słowa „Super”.
Oznacza to, że po słowie powinna znajdować się spacja, aby zaznaczyć koniec słowa i początek innego słowa. Aby to zrobić, dodamy symbol „ s” do wzorca, tworząc w ten sposób nasz ostateczny wzór jako
^ Super s
Scenariusz 3: Użyj wyrażenia regularnego, aby znaleźć prawidłowe nazwy plików z rozszerzeniem typu pliku obrazu.
Innym ważnym scenariuszem w czasie rzeczywistym, z którym często spotykają się programiści, jest sprawdzanie poprawności typów plików. Załóżmy, że w interfejsie użytkownika znajduje się przycisk przesyłania, który akceptuje tylko rozszerzenia plików graficznych.
Musimy zweryfikować plik przesłany przez użytkownika i poinformować go, jeśli przesłał plik w złym formacie. Można to łatwo osiągnąć, używając wyrażenia regularnego.
Poniżej znajduje się prosty program do sprawdzenia tego.
public static void Main(string[] args) jpeg
Wynik
Prawdziwe
Prawdziwe
Prawdziwe
Fałszywy
Fałszywy
Wyjaśnienie
Tutaj musimy dopasować nazwę pliku. Prawidłowa nazwa pliku składa się z trzech części ( nazwa pliku +. + rozszerzenie pliku ). Musimy utworzyć wyrażenie regularne pasujące do wszystkich trzech części. Zacznijmy od dopasowania pierwszej części, czyli nazwy pliku. Nazwa pliku może zawierać znaki alfanumeryczne i specjalne.
Jak wspomniano wcześniej, symbol oznaczający to „ w”. Ponadto nazwa pliku może składać się z jednego lub więcej znaków, więc będzie używany symbol „+”. Połącz je i otrzymamy symbol pierwszej części.
(w+)
Wspornik posegregował to na części. Następna część to symbol kropki. Ponieważ symbol kropki ma swoje znaczenie w wyrażeniu regularnym, użyjemy przed nim odwrotnego ukośnika, aby nadać mu dosłowne znaczenie. Połącz oba i mamy już objęte dwie pierwsze części wyrażenia regularnego.
(w+).
Teraz, w trzeciej i ostatniej części, możemy bezpośrednio zdefiniować wymagane rozszerzenia plików oddzielone znakiem „|” Symbol LUB. Można to następnie oddzielić, zamykając w okrągłym wsporniku. Znak „$” na końcu zapewnia, że zdefiniowane rozszerzenia znajdują się na końcu łańcucha. Teraz połączmy je, aby uzyskać końcowe wyrażenie regularne.
ascii do int c ++
(w+).(jpg|png|jpeg|gif)$
Teraz, jeśli użyjemy tego w programie, zobaczymy, że pasuje do poprawnego formatu i zwraca prawdę, ale z nieprawidłowymi formatami, zwraca fałsz.
Scenariusz 4: Użyj wyrażenia regularnego, aby zweryfikować format adresu witryny internetowej
Załóżmy, że mamy formularz internetowy, który akceptuje adres internetowy lub adres domeny. Chcemy, aby użytkownik podczas wypełniania formularza wprowadził prawidłowy adres strony / domeny. Aby określić, czy użytkownik wprowadził poprawny adres internetowy, przydatne może być wyrażenie regularne.
public static void Main(string[] args) { string patternText = @'^www.[a-zA-Z0-9]{3,20}.(com|in|org|co.in|net|dev)$'; Regex reg = new Regex(patternText); //When pattern matches Console.WriteLine(reg.IsMatch('www.selenium.dev')); //When pattern doesnt match Console.WriteLine(reg.IsMatch('ww.alsjk9874561230.movie.dont')); }
Wynik
Prawdziwe
Fałszywy
Wyjaśnienie
Tutaj chcemy dopasować prawidłową nazwę domeny za pomocą wyrażenia regularnego. Prawidłowa nazwa domeny zaczyna się od skrótu „www”, po którym następuje kropka (.), Następnie nazwa witryny internetowej, po której następuje kropka (.), A na końcu rozszerzenie domeny.
Tak więc, podobnie jak w poprzednim scenariuszu, postaramy się dopasować go część po części. Zacznijmy od dopasowania „www”. Część. Zaczynamy więc od symbolu początkowego, a następnie „www”. Jest to coś, co jest naprawione, więc używamy symbolu początkowego, po którym następuje dokładne dopasowanie słów.
“^www.”
Następnie zaczniemy pracę nad drugą częścią. Druga część adresu internetowego może być dowolną nazwą alfanumeryczną. Tak więc tutaj użyjemy nawiasów kwadratowych obecnych w klasie znaków, aby zdefiniować zakres, który ma zostać dopasowany. Po dodaniu drugiej części z drugą częścią da nam.
“^www.[a-zA-Z0-9]{3,20}”
Tutaj dodaliśmy również nawiasy klamrowe, aby określić minimalną i maksymalną długość znaków w nazwie witryny. Podaliśmy minimum 3 i maksimum 20. Możesz podać dowolną minimalną lub maksymalną długość.
Teraz, po omówieniu pierwszej i drugiej części adresu internetowego, pozostaje nam tylko ostatnia część, czyli rozszerzenie domeny. Jest to dość podobne do tego, co zrobiliśmy w poprzednim scenariuszu, dopasujemy bezpośrednio rozszerzenia domeny, używając operatora OR i umieszczając każde prawidłowe rozszerzenie domeny w nawiasach okrągłych.
Tak więc, jeśli dodamy je wszystkie razem, będziemy mieli pełne wyrażenie regularne pasujące do dowolnego prawidłowego adresu internetowego.
www.[a-zA-Z0-9]{3,20}.(com|in|org|co.in|net|dev)$
Scenariusz 5: Użyj wyrażenia regularnego, aby zweryfikować format identyfikatora e-mail
Załóżmy, że na naszej stronie internetowej mamy formularz logowania, w którym użytkownicy proszeni są o podanie ich adresów e-mail. Z oczywistych powodów nie chcemy, aby nasz formularz był dalej przetwarzany z nieprawidłowymi adresami e-mail. Aby sprawdzić, czy adres e-mail wprowadzony przez użytkownika jest poprawny, czy nie, możemy użyć wyrażenia regularnego.
Poniżej podano prosty program do weryfikacji adresu e-mail.
public static void Main(string[] args) { string patternText = @'^[a-zA-Z0-9._-]{5,25}.@.[a-z]{2,12}.(com|org|co.in|net)'; Regex reg = new Regex(patternText); //When pattern matches Console.WriteLine(reg.IsMatch('software_test123@gmail.com')); Console.WriteLine(reg.IsMatch('Special.Char@yahoo.co.in')); //When pattern doesnt match Console.WriteLine(reg.IsMatch('ww.alsjk9874561230.mo@vie.dont')); }
Wynik
Prawdziwe
Prawdziwe
Fałszywy
Wyjaśnienie
Prawidłowy adres e-mail zawiera litery, cyfry i niektóre znaki specjalne, takie jak kropka (.), Myślnik (-) i podkreślenie (_), po którym następuje symbol „@”, po którym następuje nazwa domeny i rozszerzenie domeny.
W ten sposób możemy podzielić adres e-mail na cztery części, tj. Identyfikator e-mail, symbol „@”, nazwę domeny i ostatnią będącą rozszerzeniem domeny.
Zacznijmy od napisania wyrażenia regularnego dla pierwszej części. Może być alfanumeryczny z pewnymi znakami specjalnymi. Załóżmy, że mamy wyrażenie o rozmiarze od 5 do 25 znaków. Podobnie jak to napisaliśmy wcześniej (w scenariuszu e-mailowym), możemy wymyślić następujące wyrażenie.
^[a-zA-Z0-9._-]{5,25}
A teraz przejdźmy do drugiej części. Jest to stosunkowo proste, ponieważ musimy dopasować tylko jeden symbol, tj. „@”. Dodanie go do powyższego wyrażenia daje nam.
^[a-zA-Z0-9._-]{5,25}.@
Przechodząc do trzeciej części, tj. Nazwa domeny będzie zawsze ciągiem małych liter alfabetu. Jeśli chcesz, możesz również dołączyć znaki numeryczne lub wielkie litery alfabetu, ale w tym scenariuszu będziemy używać małych liter.
Jeśli dodamy wyrażenie dla małych alfabetów o długości od 2 do 12 znaków, otrzymamy następujące wyrażenie.
^[a-zA-Z0-9._-]{5,25}.@.[a-z]{2,12}
Teraz pozostaje nam wyrażenie dotyczące rozszerzenia domeny, podobnie jak w czwartym scenariuszu, zajmiemy się niektórymi określonymi rozszerzeniami domeny. Jeśli chcesz, możesz dodać ich więcej, umieszczając je w okrągłym nawiasie i oddzielając znakiem „|” symbol.
Skonsolidowanie tego wyrażenia z poprzednim wyrażeniem da nam ostateczną wartość wyrażenia do weryfikacji adresu e-mail.
^[a-zA-Z0-9._-]{5,25}.@.[a-z]{2,12}.(com|org|co.in|net)
Wniosek
W tym samouczku nauczyliśmy się, czym jest wyrażenie regularne wraz ze składnią / symbolami używanymi do oznaczania, konstruowania wyrażenia regularnego. Wyrażenie regularne umożliwia użytkownikowi dopasowanie łańcucha do podanego wzorca.
Jest to bardzo pomocne w sytuacjach, które wymagają szybkiej weryfikacji danych wejściowych, np. Gdy użytkownik wprowadza swój adres e-mail lub numer telefonu, wyrażenie regularne może służyć do szybkiego sprawdzenia formatu i poinformowania użytkownika o problemie, jeśli użytkownik wprowadził niewłaściwy format.
Nauczyliśmy się również radzić sobie z różnymi scenariuszami, które można wykorzystać w wielu różnych zastosowaniach. Przyjrzeliśmy się krok po kroku procesowi pisania wyrażeń pasujących słów, alfabetów, adresów witryn internetowych, identyfikatorów e-mail, a nawet typów plików i rozszerzeń.
Te scenariusze są bardzo przydatne w sprawdzaniu poprawności danych wprowadzanych przez użytkownika w czasie rzeczywistym bez pisania wielu wierszy kodu, a tym samym pomagają oszczędzać czas i zmniejszać złożoność. Te przykłady zostały wykorzystane, aby poprowadzić użytkownika do utworzenia własnego zestawu wyrażeń regularnych, a tym samym pomóc mu w obsłudze kilku innych różnych scenariuszy.
Regex może być prosty, jak użycie alfabetu lub cyfr w celu dopasowania do danej serii znaków, lub złożony przez użycie kombinacji znaków specjalnych, kwantyfikatorów, klas znaków itp. W celu sprawdzenia złożonych formatów lub wyszukania określonego wzorca w serii znaków.
Krótko mówiąc, wyrażenie regularne jest dość potężnym narzędziem dla programisty i pomaga zmniejszyć ilość kodu, który jest wymagany do wykonania zadania dopasowywania danych lub walidacji.
=> Sprawdź WSZYSTKIE samouczki C # tutaj.
rekomendowane lektury
- C # String Tutorial - Metody ciągów z przykładami kodu
- Generator liczb losowych w języku C # i generator ciągów losowych w języku C # z przykładami kodu
- C ++ samouczek wyrażeń regularnych: Wyrażenia regularne w C ++ z przykładami
- Wyrażenie regularne $ regex MongoDB z przykładem
- Java Regex Tutorial z przykładami wyrażeń regularnych
- Jak używać wyrażeń regularnych Unixa
- Korzystanie z postprocesora w narzędziu JMeter (ekstraktor wyrażeń regularnych)
- Samouczek dotyczący ciągów Java | Metody ciągów Java z przykładami