Aktivitäten mit regulären Ausdrücken
Dieses Thema gilt für Windows Workflow Foundation 4.
In diesem Beispiel wird veranschaulicht, wie ein Satz von Aktivitäten erstellt wird, der die reguläre Ausdrucksfunktionalität des System.Text.RegularExpressions-Namespaces verfügbar macht. Diese benutzerdefinierten Aktivitäten können innerhalb einer Workflowanwendung verwendet werden. Weitere Informationen über regulären Ausdrücken finden Sie unter dem Namespace N:System.Text.RegularExpressions.
In der folgenden Tabelle sind die benutzerdefinierten Aktivitäten in diesem Beispiel aufgeführt.
Aktivität | Beschreibung |
---|---|
IsMatch |
Gibt an, ob der reguläre Ausdruck eine Übereinstimmung in der Eingabezeichenfolge gefunden hat. |
Matches |
Sucht in einer Eingabezeichenfolge nach allen Vorkommnissen eines regulären Ausdrucks und gibt alle erfolgreichen Übereinstimmungen zurück. |
Replace |
Ersetzt innerhalb einer angegebenen Eingabezeichenfolge Zeichenfolgen, die ein Muster eines regulären Ausdrucks mit einer angegebenen Ersatzzeichenfolge vergleichen. |
IsMatch
Die benutzerdefinierte IsMatch
-Aktivität gibt true zurück, wenn die Input
-Zeichenfolge eine Übereinstimmung im regulären Ausdruck findet, der in der Pattern
-Eigenschaft angegeben ist. Wenn die Aktivität von CodeActivity abgeleitet wird, ruft die Execute-Methode die IsMatch-Methode auf.
In der folgenden Tabelle sind die Eigenschaften und der Rückgabewert für die benutzeraktivierte IsMatch
-Aktivität beschrieben.
Eigenschaft oder Rückgabewert | Beschreibung |
---|---|
Muster (erforderlich) |
Der für die Suche zu verwendende reguläre Ausdruck. |
Eingabe (erforderlich) |
Die zu suchende Eingabezeichenfolge. |
RegexOptions |
Bitweise OR-Kombination von RegexOptions-Enumerationswerten. |
Rückgabewert |
true, wenn die Eingabe eine Übereinstimmung im bereitgestellten Muster findet; andernfalls false. |
Das folgende Codebeispiel zeigt, wie Sie die benutzerdefinierte IsMatch
-Aktivität verwenden.
new IsMatch
{
Pattern = new InArgument<string>( @"^-?\d+(\.\d{2})?$"),
Input = "20.00",
};
Matches
Die benutzerdefinierte Matches
-Aktivität sucht in einer Eingabezeichenfolge nach allen Vorkommnissen eines regulären Ausdrucks und gibt alle erfolgreichen Übereinstimmungen zurück. Wenn die Aktivität von CodeActivity abgeleitet wird, ruft die Execute-Methode die Matches-Methode auf.
In der folgenden Tabelle sind die Eigenschaften und der Rückgabewert für die benutzeraktivierte IsMatch
-Aktivität beschrieben.
Eigenschaft oder Rückgabewert | Beschreibung |
---|---|
Muster (erforderlich) |
Der für die Suche zu verwendende reguläre Ausdruck. |
Eingabe (erforderlich) |
Die zu suchende Eingabezeichenfolge. |
RegexOptions |
Bitweise OR-Kombination von RegexOptions-Enumerationswerten. |
Rückgabewert |
Eine MatchCollection, die die Auflistung erfolgreicher Übereinstimmungen enthält. |
Das folgende Codebeispiel zeigt, wie Sie die benutzerdefinierte Matches
-Aktivität verwenden.
new Matches
{
Pattern = @"\b(?<word>\w+)\s+(\k<word>)\b",
Input = "The quick brown fox fox jumped over over the lazy dog dog.",
};
Replace
Die benutzerdefinierte Replace
-Aktivität sucht eine Eingabezeichenfolge und ersetzt alle Zeichenfolgen, die einen angegebenen regulären Ausdruck mit einer Zeichenfolge vergleichen. Wenn die Aktivität von CodeActivity abgeleitet wird, ruft die Execute-Methode die Replace-Methode auf.
In der folgenden Tabelle sind die Eigenschaften und der Rückgabewert für die benutzeraktivierte Replace
Aktivität beschrieben.
Eigenschaft oder Rückgabewert | Beschreibung |
---|---|
Muster (erforderlich) |
Der für die Suche zu verwendende reguläre Ausdruck. |
Eingabe (erforderlich) |
Die zu suchende Eingabezeichenfolge. |
Ersetzung |
Die Ersatzzeichenfolge. Wenn eine |
MatchEvaluator |
Eine benutzerdefinierte Methode, die jede Übereinstimmung überprüft und entweder die ursprüngliche entsprechende Zeichenfolge oder eine Ersatzzeichenfolge zurückgibt. Wenn eine |
RegexOptions |
Bitweise OR-Kombination von RegexOptions-Enumerationswerten. |
Rückgabewert |
Eine MatchCollection, die die Auflistung erfolgreicher Übereinstimmungen enthält. |
Das folgende Codebeispiel zeigt, wie Sie die benutzerdefinierte Replace
-Aktivität verwenden.
// Using the replacement string.
new Replace
{
Pattern = @"\bWorld\b",
Input = "Hello World! This is a wonderful World",
Replacement = "Universe"
};
// Using a match evaluator.
new Replace
{
Pattern = new InArgument<string>(pattern),
Input = new InArgument<string>(input),
MatchEvaluator = new MatchEvaluator(CapText)
};
So verwenden Sie dieses Beispiel
Öffnen Sie mit Visual Studio 2010 die Projektmappendatei RegexActivities.sln.
Drücken Sie F6, um die Projektmappe zu erstellen.
Drücken Sie STRG+F5, um die Projektmappe auszuführen.
Hinweis: |
---|
Die Beispiele sind möglicherweise bereits auf dem Computer installiert. Überprüfen Sie das folgende (standardmäßige) Verzeichnis, bevor Sie den Vorgang fortsetzen.
<InstallDrive>:\WF_WCF_Samples
Wenn dieses Verzeichnis nicht vorhanden ist, rufen Sie Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 auf, um alle Windows Communication Foundation (WCF)- und WF-Beispiele herunterzuladen. Dieses Beispiel befindet sich im folgenden Verzeichnis.
<InstallDrive>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Regex
|