1. Gültiges E-Mail-Format bestätigen
Das folgende Codebeispiel verwendet die statische Regex.IsMatch-Methode, um zu überprüfen, ob eine Zeichenfolge ein gültiges E-Mail-Format hat. Die IsValidEmail-Methode gibt „true“ zurück, wenn die Zeichenfolge eine gültige E-Mail-Adresse enthält, andernfalls „false“, führt aber keine andere Aktion aus. Mit IsValidEmail können Sie E-Mail-Adressen herausfiltern, die ungültige Zeichen enthalten, bevor Ihre Anwendung die Adresse in einer Datenbank speichert oder auf einer ASP.NET-Seite anzeigt.
[Visual Basic]
Funktion IsValidEmail(strIn As String) als boolescher Wert
' Gibt true zurück, wenn strIn ein gültiges E-Mail-Format hat.
Return Regex.IsMatch(strIn, ("^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[ 0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3 })(]?)$")
Endfunktion
[C#]
bool IsValidEmail(string strIn)
{
// True zurückgeben, wenn strIn ein gültiges E-Mail-Format hat.
return Regex.IsMatch(strIn, @"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[ 0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3 })(]?)$");
}
2. Bereinigen Sie die Eingabezeichenfolge.
Das folgende Codebeispiel verwendet die statische Regex.Replace-Methode, um ungültige Zeichen aus einer Zeichenfolge zu extrahieren. Sie können die hier definierte CleanInput-Methode verwenden, um potenziell schädliche Zeichen zu bereinigen, die in ein Textfeld auf einem Formular eingegeben werden, das Benutzereingaben akzeptiert. CleanInput gibt eine Zeichenfolge zurück, nachdem alle nicht alphanumerischen Zeichen außer @, - (Bindestrich) und (Punkt) bereinigt wurden.
[Visual Basic]
Funktion CleanInput(strIn As String) As String
' Ersetzen Sie ungültige Zeichen durch leere Zeichenfolgen.
Return Regex.Replace(strIn, "[^w.@-]", "")
Endfunktion
[C#]
String CleanInput(string strIn)
{
// Ungültige Zeichen durch leere Zeichenfolgen ersetzen.
return Regex.Replace(strIn, @"[^w.@-]", "");
}
3. Ändern Sie das Datumsformat.
Das folgende Codebeispiel verwendet die Regex.Replace-Methode, um das Datumsformat MM/TT/JJ durch das Datumsformat TT-MM-JJ zu ersetzen.
[Visual Basic]
Funktion MDYToDMY(Eingabe als String) als String
Rückgabe Regex.Replace(input, _
"b(?<Monat>d{1,2})/(?<Tag>d{1,2})/(?<Jahr>d{2,4})b", _
„${Tag}-${Monat}-${Jahr}“)
Endfunktion
[C#]
String MDYToDMY(String-Eingabe)
{
return Regex.Replace(input,
" \b(?<Monat>\d{1,2})/(?<Tag>\d{1,2})/(?<Jahr>\d{2,4})\ B ",
„${Tag}-${Monat}-${Jahr}“);
}
Regex-Ersetzungsmuster
Dieses Beispiel zeigt, wie benannte Rückverweise im Ersetzungsmuster von Regex.Replace verwendet werden. Dabei fügt der Ersetzungsausdruck ${day} den von der Gruppe (?<day>...) erfassten Teilstring ein.
Die Regex.Replace-Funktion ist eine von mehreren statischen Funktionen, die es Ihnen ermöglichen, mit regulären Ausdrücken zu arbeiten, ohne ein explizites reguläres Ausdrucksobjekt zu erstellen. Dies ist praktisch, wenn Sie den kompilierten regulären Ausdruck nicht behalten möchten.
4. URL-Informationen extrahieren
Das folgende Codebeispiel verwendet Match.Result, um das Protokoll und die Portnummer aus der URL zu extrahieren. Beispielsweise gibt „http://www.contoso.com:8080/letters/readme.html“ „http:8080“ zurück.
[Visual Basic]
Funktionserweiterung (URL als String) als String
Dim r As New Regex("^(?<proto>w+)://[^/]+?(?<port>:d+)?/", _
RegexOptions.Compiled)
Return r.Match(url).Result("${proto}${port}")
Endfunktion
[C#]
String-Erweiterung (String-URL)
{
Regex r = new Regex(@"^(?<proto>w+)://[^/]+?(?<port>:d+)?/",
RegexOptions.Compiled);
return r.Match(url).Result("${proto}${port}");
}