c regex tutorial what is c regular expression
In diesem C # Regex-Lernprogramm wird anhand von Beispielen erläutert, was ein regulärer Ausdruck in C # ist, welche Syntax es gibt, welche Regex-Klassenmethoden verwendet werden und wie diese Methoden verwendet werden:
Der reguläre Ausdruck in C # wird zum Abgleichen eines bestimmten Zeichenmusters verwendet. Reguläre Ausdrücke werden immer dann verwendet, wenn ein Benutzer ein sich wiederholendes Muster finden oder eine Datenvalidierung durchführen oder sogar die Datenformatierung überprüfen muss.
Ein RegEx wird verwendet, um festzustellen, ob eine Zeichenfolge ein bestimmtes Zeichenmuster enthält oder mit diesem übereinstimmt. Ein Regex ist in erster Linie eine Zeichenfolge, die ein Muster bezeichnet.
Ein Muster kann aus Zahlen, Zeichen oder einer Kombination von allen bestehen. Regex wird häufig zur Validierung verwendet. Parsing oder Matching von Strings, zum Beispiel, Finden, ob eine Zeichenfolge dem Währungsformat, der Telefonnummer oder dem Datumsformat entspricht.
=> Lesen Sie die Easy C # Trainingsreihe durch.
Wie führe ich SWF-Dateien aus?
Was du lernen wirst:
Regex-Klasse in C #
Die Regex-Klasse wird in C # verwendet, um Regex-Operationen auszuführen. Es enthält verschiedene Methoden, mit denen verschiedene Operationen im Zusammenhang mit Regex ausgeführt werden können.
Es kann verwendet werden, um großen Text zu analysieren, um eine bestimmte Zeichenfolge zu finden, indem Methoden verwendet werden, mit denen eine Übereinstimmung durchgeführt, ersetzt oder die Zeichenfolge aufgeteilt werden kann.
Die Regex-Klasse ist im Namespace vorhanden. System.Text.RegularExpression. Die Klasse akzeptiert eine Zeichenfolge in Form einer Zeichenfolge als Parameter.
C # Regex-Methoden
IsMatch
Die einfachste und nützlichste Methode in der Regex-Klasse ist die IsMatch-Methode. Diese Methode weist unterschiedliche Überladungen auf, um den Abgleich von Zeichen basierend auf unterschiedlichen Parametern durchzuführen.
Das einfachste ist IsMatch (Zeichenfolgentext) Mit dieser Methode kann der Benutzer eine Zeichenfolge zum Abgleichen einer Zeichenfolge bereitstellen.
Die zweite Überlastung IsMatch (Zeichenfolgentext, int-Position). Diese Methode gibt einen Booleschen Wert zurück und akzeptiert zwei (Zeichenfolge und Ganzzahl) Parameter. Der im Parameter angegebene Zeichenfolgentext ist im Grunde ein Regex-Konstruktor, der mit der Zeichenfolge ab der durch den Integer-Parameter angegebenen Startposition übereinstimmt.
Daher versucht diese Methode, die Zeichenfolgeneingabe an der Position abzugleichen, die von einem ganzzahligen Parameter in einer bestimmten Zeichenfolge bereitgestellt wird.
Die dritte Überlastung, IsMatch (String-Text, String-Muster) akzeptiert zwei Parameter und gibt einen Booleschen Wert zurück. Der erste Parameter ist Text, in dem der Benutzer ein Muster finden muss, und der nächste Parameter gibt das Muster an, nach dem der Benutzer im angegebenen Text sucht.
Wiederaufnahme des Lesens = >> Mustervergleich in MySQL
Ersetzen (String-Text, String-Ersatztext)
Die Ersetzungsmethode akzeptiert zwei Parameter und gibt einen Zeichenfolgenwert zurück. Der erste Parameter ist die Zeichenfolge oder der reguläre Ausdruck, den Sie für die Übereinstimmung verwenden möchten, und der zweite ist das Ersetzen des regulären Ausdrucks.
Die Methode ermittelt eine Übereinstimmung mit dem angegebenen Text und ersetzt diese durch den vom Benutzer bereitgestellten Ersatztext. Die Methodensignatur lautet public string Replace (Zeichenfolgentext, Zeichenfolgenersatztext)
Öffentliche Zeichenfolge () Split (Zeichenfolgentext)
Die Split-Methode aus der Regex-Klasse akzeptiert die Eingabe von Zeichenfolgen als Parameter und gibt ein Array zurück, das Teilzeichenfolgen enthält. Der in der Methode übergebene Parameter ist die Zeichenfolge, die aufgeteilt werden muss.
Die Methode findet das übereinstimmende Eingabemuster in der Zeichenfolge und teilt die Zeichenfolge an dieser Stelle in kleinere Teilzeichenfolgen auf, wobei jedes übereinstimmende Muster die Bruchstelle darstellt. Die Methode gibt dann ein Array zurück, das alle Teilzeichenfolgen enthält.
Verwendung von Regex C # -Methoden
Schauen wir uns die Verwendung dieser Methoden an, indem wir ein einfaches Programm schreiben.
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); } }
Die Ausgabe des obigen Programms
Wahr
Wahr
Wahr
Welt ersetzen
Hallo
Welt
Heute
Die Erklärung für den obigen Code:
Zu Beginn des Programms haben wir ein Objekt erstellt und für das Muster, das wir für den Code-Abgleich in der nachfolgenden Zeichenfolgeneingabe verwenden werden, haben wir die Textformatierung verwendet, um die Dinge am Anfang einfach zu halten, aber wenn Sie sich wohl fühlen, können Sie es Verwenden Sie Muster für reguläre Ausdrücke. (Wir werden das Muster des regulären Ausdrucks im weiteren Verlauf dieses Tutorials ausführlich besprechen.)
Anschließend verwenden wir eine Übereinstimmungszeichenfolge, um den Faktor, den wir als angegebenes Objekt deklariert haben, mit der Eingabezeichenfolge einzugeben. Wenn er übereinstimmt, wird false zurückgegeben.
Die nächste Methode, die wir verwendet haben, ist IsMethod (Zeichenfolgeneingabe, int-Index). Diese Methode akzeptiert zwei Parameter. Hier geben wir die Eingabezeichenfolge und den Index an, von dem aus die Übereinstimmung beginnen muss. Zum Beispiel, Hier wollten wir den Abgleich vom Anfang der Eingabezeichenfolge aus starten.
Dann haben wir die Verwendung von IsMatch (String-Eingabe, String-Muster) demonstriert. Hier haben wir die Eingabezeichenfolge bereitgestellt, dann wollten wir herausfinden, ob der Mustertext in der Eingabe vorhanden ist oder nicht. Wenn es vorhanden ist, wird es true zurückgeben (wie in unserem Fall), andernfalls wird es false zurückgeben.
Eine andere Methode, die wir besprochen haben, wird ersetzt. Diese Methode ist sehr nützlich in Programmen, in denen Sie Änderungen an den Eingabedaten vornehmen oder das Format der vorhandenen Daten ändern möchten.
Hier stellen wir zwei Parameter bereit, der erste ist die Eingabezeichenfolge und der zweite ist die Zeichenfolge, die zum Ersetzen der vorherigen Zeichenfolge verwendet werden kann. Diese Methode verwendet auch das Muster, das in dem zuvor definierten Regex-Objekt definiert ist.
Eine andere wichtige Methode, die wir verwendet haben, ist die Aufteilung. Diese Methode wird verwendet, um die angegebene Zeichenfolge basierend auf einigen wiederkehrenden Mustern zu teilen. Hier haben wir eine Zeichenfolge 'Hello_World_Today' bereitgestellt.
Angenommen, wir möchten den Unterstrich aus der angegebenen Zeichenfolge entfernen und die Teilzeichenfolgen abrufen. Dazu geben wir den Eingabeparameter an und geben dann das Muster an, das wir als Aufteilungspunkt verwenden müssen. Die Methode gibt ein Array zurück und wir können eine einfache Schleife wie foreach verwenden, um alle Zeichenfolgen abzurufen.
Syntax für reguläre Ausdrücke
Es gibt verschiedene Syntaxen wie Sonderzeichen, Quantifizierer, Zeichenklassen usw., mit denen ein bestimmtes Muster aus einer bestimmten Eingabe abgeglichen werden kann.
In diesem Teil des Tutorials werden wir uns eingehend mit der Syntax von Regex befassen und versuchen, einige reale Szenarien mit ihnen zu lösen. Bevor wir fortfahren, stellen Sie sicher, dass Sie sich mit der Grundidee von Regex und den verschiedenen in der Regex-Klasse verfügbaren Methoden vertraut gemacht haben.
Spezielle Charaktere
Sonderzeichen in einer Regex werden verwendet, um einem Muster mehrere verschiedene Bedeutungen zuzuweisen. Wir werden uns nun einige der weit verbreiteten Sonderzeichen und ihre Bedeutung in Regex.3 ansehen
Spezielle Charaktere | Bedeutung |
---|---|
w und W. | Kleinbuchstaben 'w' werden verwendet, um alphanumerische Zeichen / Unterstriche abzugleichen, und Großbuchstaben 'W' werden verwendet, um Nicht-Wort-Zeichen abzugleichen. |
^ | Dies ist eine der am häufigsten verwendeten Syntax. Es bezeichnet den Start, das Wort oder Muster, nachdem dies ab dem Beginn des Eingabetextes übereinstimmt. |
$ | Dieses Zeichen wird zum Abgleichen von Wörtern am Ende der Zeichenfolge verwendet. Wörter / Muster, die vor diesem Symbol angegeben sind, stimmen mit den Wörtern am Ende der Zeichenfolge überein. |
. (Punkt) | Punkt wird verwendet, um ein einzelnes Zeichen in der angegebenen Zeichenfolge abzugleichen, das einmal vorkommt. |
n | Dies wird für eine neue Zeile verwendet. |
d und D. | Kleinbuchstaben 'd' werden verwendet, um mit einem Ziffernzeichen übereinzustimmen, und Großbuchstaben 'D' werden verwendet, um nichtstellige Zeichen abzugleichen. |
s und S. | Kleinbuchstaben 's' werden verwendet, um Leerzeichen abzugleichen, und Großbuchstaben 'S' werden verwendet, um nicht weiße Leerzeichen abzugleichen. |
Quantifizierersyntax
Die Quantifizierersyntax wird verwendet, um die Übereinstimmungskriterien zu zählen oder zu quantifizieren. Zum Beispiel, Wenn Sie überprüfen möchten, ob eine bestimmte Zeichenfolge ein oder mehrere Male ein Alphabet enthält. Schauen wir uns einige der häufig verwendeten Quantifizierer im regulären Ausdruck an.
Quantifizierersyntax | Bedeutung |
---|---|
* * | Dieses Symbol wird verwendet, um mit dem vorhergehenden Zeichen übereinzustimmen. |
+ | Dieses Symbol wird verwendet, um ein oder mehrere Zeichen in einer Reihe abzugleichen. |
{n} | Die numerische Ziffer in den geschweiften Klammern wird verwendet, um mit der Nummer des vorhergehenden Zeichens übereinzustimmen, das durch die numerische Zahl in geschweiften Klammern definiert ist. |
{n,} | Die Ziffer in geschweiften Klammern und dieses Symbol wird verwendet, um sicherzustellen, dass sie mit mindestens n übereinstimmt (d. H. Der Ziffernwert in geschweiften Klammern). |
{n, m} | Dieses Symbol wird verwendet, um vom vorhergehenden Zeichen n-mal bis m-mal abzugleichen. |
? | Durch dieses Symbol werden vorhergehende Zeichen als optional abgeglichen. |
Zeichenklasse
Die Zeichenklasse wird auch als Zeichensätze bezeichnet. Hiermit wird die Regex-Engine angewiesen, aus mehreren Zeichen nach einer einzelnen Übereinstimmung zu suchen. Eine Zeichenklasse entspricht nur einem Zeichen, und die Reihenfolge der im Zeichensatz enthaltenen Zeichen spielt keine Rolle.
Zeichenklasse | Bedeutung |
---|---|
( Reichweite ) | Das Symbol in eckigen Klammern wird verwendet, um eine Reihe von Zeichen abzugleichen. Zum Beispiel können wir damit jedes Zeichen im Bereich vom Alphabet „a“ bis „z“ definieren, indem wir den Bereich wie (a-z) in die Klammer einschließen. Oder wir können auch mit der numerischen '1' bis '9' übereinstimmen, indem wir (1-9) bezeichnen. |
(^ Bereich) | Dies bedeutet eine negative Zeichenklasse. Es wird verwendet, um mit allem übereinzustimmen, nicht in dem Bereich, der in der Klammer angegeben ist. |
. | Dies wird verwendet, um Sonderzeichen zuzuordnen, die möglicherweise eigene Regex-Symbole haben. Der Schrägstrich wird verwendet, um die Sonderzeichen in ihrer wörtlichen Form abzugleichen. |
Gruppierung
Runde Klammern oder Klammern können verwendet werden, um einen Teil des regulären Ausdrucks zu gruppieren. Dadurch kann der Benutzer entweder einen Quantifizierer mit dem Ausdruck hinzufügen.
Gruppierung | Bedeutung |
---|---|
(Gruppenausdruck) | Die runden Klammern werden zum Gruppieren eines Ausdrucks verwendet. |
| | Die | Der Operator wird in der runden Klammer verwendet, um beispielsweise eine Alternative (a | b) zu verwenden. |
Beispiele für reguläre C # -Ausdrücke
Im vorherigen Abschnitt haben wir uns mit den Symbolen für reguläre Ausdrücke vertraut gemacht. In diesem Abschnitt werden wir uns eingehend mit der Verwendung verschiedener Symbole im regulären Ausdruck und der Kombination befassen, in der sie verwendet werden können, um verschiedene Ausdrücke abzugleichen.
In diesem Tutorial werden einige der am häufigsten auftretenden realen Szenarien erläutert, denen Sie als Entwickler bei der Arbeit an einer Anwendung oder in einem einfachen Programm begegnen können, um Benutzereingaben zu erhalten.
Beispiel für einen regulären Ausdruck mit realen Szenarien
Lassen Sie uns anhand einiger Echtzeitbeispiele mehr über reguläre Ausdrücke erfahren.
Szenario 1: Überprüfen Sie, ob die Eingabezeichenfolge aus 6-stelligen Buchstaben besteht, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird.
Ein häufiges Szenario für reguläre Ausdrücke ist das Finden und Übereinstimmen eines bestimmten Wortes. Zum Beispiel, Angenommen, ich möchte eine zufällige alphabetische Zeichenfolge vom Benutzer und diese Eingabe sollte genau 6-stellig sein.
Um dies zu bestätigen, können wir einen einfachen regulären Ausdruck verwenden. Schreiben wir ein Programm, um das Schreiben und die Verwendung regulärer Ausdrücke besser zu verstehen.
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')); }
Ausgabe
Wahr
Falsch
Erläuterung
In diesem Beispiel versuchen wir, eine Eingabezeichenfolge zu überprüfen, um zu überprüfen, ob sie sechsstellige alphabetische Zeichen enthält. Die Zeichen können sowohl in Klein- als auch in Großbuchstaben geschrieben werden, daher müssen wir dies ebenfalls berücksichtigen.
Also haben wir hier ein Muster für reguläre Ausdrücke in der Variablen 'patternText' definiert und es dann an das Regex-Objekt übergeben. Jetzt sind die nächsten Codezeilen ziemlich einfach. Wir haben die IsMatch-Methode verwendet, um den regulären Ausdruck und die Eingabezeichenfolge zu vergleichen.
Schauen wir uns nun den regulären Ausdruck an, den wir entwickelt haben. Der Ausdruck (^ (a-zA-Z) {6} $) besteht aus 4 verschiedenen Teilen. '^', '(A-zA-Z)', '{6}' und '$'. Der zweite Teil bezeichnet die übereinstimmenden Zeichen, die zur Ausdrucksübereinstimmung verwendet werden, 'a-z' für Kleinbuchstaben und 'A-Z' für Großbuchstaben.
Das erste Teilzeichen '^' stellt sicher, dass die Zeichenfolge mit einem im zweiten Teil definierten Muster beginnt, d. H. Klein- und Großbuchstaben.
Die geschweiften Klammern im dritten Teil bestimmen die Anzahl der Zeichen in der Zeichenfolge, die durch das definierte Muster identifiziert werden können, d. H. 6 in diesem Fall, und das Symbol '$' stellt sicher, dass es mit dem im zweiten Teil definierten Muster endet.
^ (a-zA-Z) {6} $
Szenario 2: Verwenden Sie den regulären Ausdruck, um zu überprüfen, ob ein Wort mit „Super“ beginnt und danach einen Leerraum aufweist, d. H. Um zu überprüfen, ob am Anfang eines Satzes „Super“ vorhanden ist.
Nehmen wir an, wir lesen einige Benutzereingaben und müssen sicherstellen, dass der Benutzer seinen Satz immer mit einem bestimmten Wort, einer bestimmten Zahl oder einem bestimmten Alphabet beginnt. Dies kann ganz einfach durch Verwendung eines einfachen regulären Ausdrucks erreicht werden.
Schauen wir uns ein Beispielprogramm an und diskutieren dann ausführlich, wie dieser Ausdruck geschrieben wird.
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')); }
Ausgabe
Wahr
Falsch
Erläuterung
Auch in diesem Beispiel haben wir ein ähnliches Code-Setup verwendet wie im ersten. Das Muster für reguläre Ausdrücke in diesem Szenario erfordert den Abgleich mit einer Kombination von Wörtern oder Sätzen, die mit „Super“ beginnen.
^ Super
Da wir also vom Anfang der Wortreihe an übereinstimmen möchten, setzen wir zunächst das Symbol „^“ und geben dann das Muster an, das wir abgleichen möchten, in diesem Fall „Super“. Jetzt kann das Muster, das wir '^ Super' erstellt haben, mit allen Werten von 'Super' übereinstimmen, sogar von 'Superman' oder 'Supernatural', aber wir wollen nicht nur das Wort 'Super'.
Dies bedeutet, dass nach dem Wort ein Leerzeichen stehen sollte, um das Ende des Wortes und den Anfang eines anderen Wortes zu markieren. Dazu fügen wir dem Muster das Symbol ' s' hinzu und machen so unser endgültiges Muster zu
^ Super s
Szenario 3: Verwenden Sie den regulären Ausdruck, um gültige Dateinamen mit einer Erweiterung des Bilddateityps zu finden.
Ein weiteres wichtiges Echtzeitszenario, mit dem Entwickler häufig konfrontiert sind, ist die Validierung von Dateitypen. Angenommen, wir haben eine Upload-Schaltfläche in der Benutzeroberfläche, die nur Erweiterungen des Bilddateityps akzeptiert.
Wir müssen die Benutzer-Upload-Datei validieren und ihn informieren, falls er das falsche Dateiformat hochgeladen hat. Dies kann leicht durch Verwendung des regulären Ausdrucks erreicht werden.
Im Folgenden finden Sie ein einfaches Programm, um dies zu überprüfen.
public static void Main(string() args) jpeg
Ausgabe
Wahr
Wahr
Wahr
Falsch
Falsch
Erläuterung
Hier müssen wir einen Dateinamen finden. Ein gültiger Dateiname besteht aus drei Teilen ( Name der Datei +. + Dateierweiterung ). Wir müssen einen regulären Ausdruck erstellen, der allen drei Teilen entspricht. Beginnen wir mit dem ersten Teil, d. H. Dem Namen der Datei. Ein Dateiname kann alphanumerische Zeichen und Sonderzeichen enthalten.
Wie bereits erwähnt, ist das Symbol für ' w'. Der Dateiname kann auch aus einem oder mehreren Zeichen bestehen, daher wird das Symbol „+“ verwendet. Kombinieren Sie sie und wir erhalten das Symbol für den ersten Teil.
(w+)
Die Halterung trennte dies in Teile. Der nächste Teil ist das Punktsymbol. Da das Punktsymbol in einem regulären Ausdruck seine Bedeutung hat, verwenden wir einen Backslash davor, um ihm eine wörtliche Bedeutung zu geben. Kombinieren Sie beide und wir haben die ersten beiden Teile der Regex abgedeckt.
(w+).
Jetzt können wir für den dritten und letzten Teil direkt die erforderlichen Dateierweiterungen definieren, die durch '|' getrennt sind. ODER-Symbol. Dies kann dann durch Einschließen in eine kreisförmige Klammer getrennt werden. Ein '$' -Zeichen am Ende stellt sicher, dass sich die definierten Erweiterungen am Ende der Zeichenfolge befinden. Kombinieren wir sie nun, um den endgültigen regulären Ausdruck zu erhalten.
(w+).(jpg|png|jpeg|gif)$
Wenn wir dies im Programm verwenden, können wir sehen, dass es dem richtigen Format entspricht und true zurückgibt, aber bei ungültigen Formaten false zurückgibt.
Szenario 4: Verwenden Sie den regulären Ausdruck, um das Format einer Website-Adresse zu überprüfen
Nehmen wir an, wir haben ein Webformular, das eine Webadresse oder Domainadresse akzeptiert. Wir möchten, dass der Benutzer beim Ausfüllen des Formulars die richtige Web- / Domain-Adresse eingibt. Um festzustellen, ob der Benutzer eine korrekte Webadresse eingegeben hat, kann ein regulärer Ausdruck sehr nützlich sein.
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')); }
Ausgabe
Wahr
Falsch
Erläuterung
Hier möchten wir einen gültigen Domainnamen mit einem regulären Ausdruck abgleichen. Ein gültiger Domainname beginnt mit der Abkürzung „www“, gefolgt von einem Punkt (.) Und dem Namen der Website, gefolgt von einem Punkt (.) Und am Ende einer Domain-Endung.
Ähnlich wie im vorherigen Szenario werden wir versuchen, es Teil für Teil abzugleichen. Beginnen wir zunächst mit 'www'. Teil. Wir beginnen also mit dem Startsymbol und dann mit „www“. Es ist etwas, das behoben ist, also verwenden wir das Startsymbol, gefolgt von den genauen passenden Wörtern.
“^www.”
Dann werden wir mit der Arbeit am zweiten Teil beginnen. Der zweite Teil der Webadresse kann ein beliebiger alphanumerischer Name sein. Daher verwenden wir hier eckige Klammern in der Zeichenklasse, um den Bereich zu definieren, der angepasst werden muss. Nach dem Hinzufügen des zweiten Teils mit dem zweiten Teil geben Sie uns.
“^www.(a-zA-Z0-9){3,20}”
Hier haben wir auch geschweifte Klammern hinzugefügt, um die minimale und maximale Zeichenlänge für den Website-Namen zu definieren. Wir haben ein Minimum von 3 und ein Maximum von 20 angegeben. Sie können jede gewünschte minimale oder maximale Länge angeben.
Nachdem wir nun den ersten und zweiten Teil der Webadresse behandelt haben, bleibt nur der letzte Teil, d. H. Die Domain-Endung. Es ist ziemlich ähnlich zu dem, was wir im letzten Szenario gemacht haben. Wir werden direkt mit den Domänenerweiterungen übereinstimmen, indem wir OR verwenden und jede gültige Domänenerweiterung in die kreisförmige Klammer einschließen.
Wenn wir also alle diese Werte addieren, erhalten wir einen vollständigen regulären Ausdruck, der mit jeder gültigen Webadresse übereinstimmt.
beste Datenrettungssoftware für Windows
www.(a-zA-Z0-9){3,20}.(com|in|org|co.in|net|dev)$
Szenario 5: Verwenden Sie den regulären Ausdruck, um ein E-Mail-ID-Format zu überprüfen
Nehmen wir an, wir haben auf unserer Webseite ein Anmeldeformular, in dem die Benutzer aufgefordert werden, ihre E-Mail-Adresse einzugeben. Aus offensichtlichen Gründen möchten wir nicht, dass unser Formular mit ungültigen E-Mail-Adressen weitergeht. Um zu überprüfen, ob die vom Benutzer eingegebene E-Mail-Adresse korrekt ist oder nicht, können wir einen regulären Ausdruck verwenden.
Im Folgenden finden Sie ein einfaches Programm zum Überprüfen einer E-Mail-Adresse.
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')); }
Ausgabe
Wahr
Wahr
Falsch
Erläuterung
Eine gültige E-Mail-Adresse enthält Alphabete, Ziffern und einige Sonderzeichen wie Punkt (.), Bindestrich (-) und Unterstriche (_), gefolgt vom Symbol „@“, gefolgt vom Domainnamen und der Domain-Endung.
Somit können wir die E-Mail-Adresse in vier Teile unterteilen, d. H. E-Mail-Kennung, '@' -Symbol, Domain-Name und der letzte ist die Domain-Endung.
Beginnen wir mit dem Schreiben eines regulären Ausdrucks für den ersten Teil. Es kann alphanumerisch mit einigen Sonderzeichen sein. Angenommen, wir haben eine Ausdrucksgröße zwischen 5 und 25 Zeichen. Ähnlich wie wir es früher geschrieben haben (im E-Mail-Szenario), können wir uns den folgenden Ausdruck einfallen lassen.
^(a-zA-Z0-9._-){5,25}
Fahren Sie nun mit dem zweiten Teil fort. Dies ist vergleichsweise einfach, da wir nur ein Symbol finden müssen, d. H. '@'. Das Hinzufügen zu dem obigen Ausdruck gibt uns.
^(a-zA-Z0-9._-){5,25}.@
Beim Übergang zum dritten Teil, d. H. Dem Domain-Namen, handelt es sich immer um eine Reihe von Kleinbuchstaben. Wenn Sie möchten, können Sie auch numerische oder alphabetische Großbuchstaben einfügen. In diesem Szenario werden jedoch Kleinbuchstaben verwendet.
Wenn wir den Ausdruck für Kleinbuchstaben mit einer Länge von 2 bis 12 Zeichen hinzufügen, haben wir den folgenden Ausdruck.
^(a-zA-Z0-9._-){5,25}.@.(a-z){2,12}
Jetzt bleibt nur noch der Ausdruck für die Domänenerweiterung, ähnlich wie im vierten Szenario. Wir werden einige spezifische Domänenerweiterungen behandeln. Wenn Sie möchten, können Sie weitere hinzufügen, indem Sie sie in eine kreisförmige Klammer einschließen und mit einem „|“ trennen. Symbol.
Wenn Sie diesen Ausdruck mit dem vorherigen Ausdruck konsolidieren, erhalten Sie unseren endgültigen Ausdruckswert für die E-Mail-Validierung.
^(a-zA-Z0-9._-){5,25}.@.(a-z){2,12}.(com|org|co.in|net)
Fazit
In diesem Tutorial haben wir gelernt, was regulärer Ausdruck ist, zusammen mit der Syntax / den Symbolen, die verwendet werden, um einen regulären Ausdruck zu konstruieren. Mit dem regulären Ausdruck kann der Benutzer eine Zeichenfolge mit einem bestimmten Muster abgleichen.
Dies ist sehr hilfreich in Situationen, in denen eine schnelle Überprüfung der Eingabe erforderlich ist, z. B. wenn ein Benutzer seine E-Mail-Adresse oder Telefonnummer eingibt. Mit Regex kann das Format schnell überprüft und der Benutzer über das Problem informiert werden, wenn der Benutzer das falsche Format eingegeben hat.
Wir haben auch gelernt, verschiedene Szenarien anzugehen, die für eine Vielzahl unterschiedlicher Anwendungen verwendet werden können. Wir haben uns den schrittweisen Prozess angesehen, um Ausdrücke für übereinstimmende Wörter, Alphabete, Website-Adressen, E-Mail-IDs und sogar Dateitypen und -erweiterungen zu schreiben.
Diese Szenarien sind sehr nützlich bei der Echtzeitvalidierung von Benutzereingaben ohne das Schreiben zahlreicher Codezeilen und helfen dadurch, Zeit zu sparen und die Komplexität zu reduzieren. Diese Beispiele wurden verwendet, um den Benutzer beim Erstellen eigener regulärer Ausdrücke zu unterstützen und ihm so bei der Handhabung verschiedener anderer Szenarien zu helfen.
Regex kann einfach sein, wie die Verwendung von Buchstaben oder Ziffern, um mit einer bestimmten Reihe von Zeichen oder Komplexen übereinzustimmen, indem eine Kombination aus Sonderzeichen, Quantifizierern, Zeichenklassen usw. verwendet wird, um komplexe Formate zu validieren oder nach einem bestimmten Muster in der Zeichenserie zu suchen.
Kurz gesagt, ein regulärer Ausdruck ist ein ziemlich leistungsfähiges Werkzeug für einen Programmierer und hilft dabei, die Menge an Code zu reduzieren, die für einen Datenabgleich oder eine Validierungsaufgabe erforderlich ist.
=> Überprüfen Sie ALLE C # -Tutorials hier.
Literatur-Empfehlungen
- C # String Tutorial - String-Methoden mit Codebeispielen
- C # Zufallszahl und C # Zufallszeichenfolgengenerator mit Codebeispielen
- C ++ Regex Tutorial: Reguläre Ausdrücke in C ++ mit Beispielen
- MongoDB Regular Expression $ regex mit Beispiel
- Java Regex Tutorial mit Beispielen für reguläre Ausdrücke
- Verwendung von regulären Unix-Ausdrücken
- Verwenden des Postprozessors in JMeter (Regular Expression Extractor)
- Java String Tutorial | Java-String-Methoden mit Beispielen