Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Im folgenden Beispiel wird die statische Regex.Replace Methode verwendet, um ungültige Zeichen aus einer Zeichenfolge zu entfernen.
Warning
Die uneingeschränkte Verwendung von System.Text.RegularExpressions mit nicht vertrauenswürdigen Eingaben kann Anwendungen Denial-of-Service-Angriffen aussetzen. Lesen Sie bewährte Methoden für reguläre Ausdrücke in .NET, um Anleitungen zur sicheren Verwendung von .NET regulären Ausdrücken mit nicht vertrauenswürdigen Eingaben zu erhalten.
Example
Sie können die CleanInput in diesem Beispiel definierte Methode verwenden, um potenziell schädliche Zeichen zu entfernen, die in ein Textfeld eingegeben wurden, das Benutzereingaben akzeptiert. In diesem Fall entfernt CleanInput alle nicht alphanumerischen Zeichen mit Ausnahme von Punkten (.), At-Zeichen (@) und Bindestrichen (-) und gibt die verbleibende Zeichenfolge zurück. Sie können das Muster für reguläre Ausdrücke jedoch so ändern, dass alle Zeichen entfernt werden, die nicht in einer Eingabezeichenfolge enthalten sein sollten.
using System;
using System.Text.RegularExpressions;
public class Example
{
static string CleanInput(string strIn)
{
// Replace invalid characters with empty strings.
try {
return Regex.Replace(strIn, @"[^\w\.@-]", "",
RegexOptions.None, TimeSpan.FromSeconds(1.5));
}
// If we timeout when replacing invalid characters,
// we should return Empty.
catch (RegexMatchTimeoutException) {
return String.Empty;
}
}
}
Imports System.Text.RegularExpressions
Module Example
Function CleanInput(strIn As String) As String
' Replace invalid characters with empty strings.
Try
Return Regex.Replace(strIn, "[^\w\.@-]", "")
' If we timeout when replacing invalid characters,
' we should return String.Empty.
Catch e As RegexMatchTimeoutException
Return String.Empty
End Try
End Function
End Module
Das Muster [^\w\.@-] für reguläre Ausdrücke entspricht jedem Zeichen, das kein Wortzeichen, ein Punkt, ein @-Symbol oder ein Bindestrich ist. Ein Wortzeichen ist ein beliebiger Buchstabe, eine Dezimalziffer oder ein verbindendes Satzzeichen wie ein Unterstrich. Jedes Zeichen, das diesem Muster entspricht, wird durch String.Emptydie durch das Ersetzungsmuster definierte Zeichenfolge ersetzt. Um zusätzliche Zeichen in der Benutzereingabe zuzulassen, fügen Sie diese Zeichen der Zeichenklasse im Muster für reguläre Ausdrücke hinzu. Das Muster [^\w\.@-\\%] für reguläre Ausdrücke ermöglicht z. B. auch ein Prozentsymbol und einen umgekehrten Schrägstrich in einer Eingabezeichenfolge.