Regular Expression Activities
This topic applies to Windows Workflow Foundation 4 (WF4).
This sample demonstrates how to create a set of activities that expose the regular expression functionality of the System.Text.RegularExpressions namespace. These custom activities can be used within a workflow application. For more information aboutregular expressions, see N:System.Text.RegularExpressions Namespace.
The following table details the custom activities in this sample.
Activity | Description |
---|---|
IsMatch |
Specifies whether the regular expression found a match in the input string. |
Matches |
Searches an input string for all occurrences of a regular expression and returns all the successful matches. |
Replace |
Within a specified input string, replaces strings that match a regular expression pattern with a specified replacement string. |
IsMatch
The IsMatch
custom activity returns true if the Input
string property finds a match in the regular expression specified in the Pattern
property. The activity derives from CodeActivity and within the Execute method calls the IsMatch method.
The following table describes the properties and return value for the IsMatch
custom activity.
Property or Return Value | Description |
---|---|
Pattern (required) |
The regular expression to search with. |
Input (required) |
The input string to search. |
RegexOptions |
Bitwise OR combination of RegexOptions enumeration values. |
Return value |
true if the input finds a match in the provided pattern; otherwise false. |
The following code example demonstrates how to use the IsMatch
custom activity.
new IsMatch
{
Pattern = new InArgument<string>( @"^-?\d+(\.\d{2})?$"),
Input = "20.00",
};
Matches
The Matches
custom activity searches an input string for all occurrences of a regular expression and returns all the successful matches. The activity derives from CodeActivity and within the Execute method calls the Matches method.
The following table describes the properties and return value for the IsMatch
custom activity.
Property or Return Value | Description |
---|---|
Pattern (required) |
The regular expression to search with. |
Input (required) |
The input string to search. |
RegexOptions |
Bitwise OR combination of RegexOptions enumeration values. |
Return Value |
A MatchCollection that contains the collection of successful matches. |
The following code example demonstrates how to use the Matches
custom activity.
new Matches
{
Pattern = @"\b(?<word>\w+)\s+(\k<word>)\b",
Input = "The quick brown fox fox jumped over over the lazy dog dog.",
};
Replace
The Replace
custom activity searches an input string and replaces all strings that match a specified regular expression with a string. The activity derives from CodeActivity and within the Execute method calls the Replace method.
The following table describes the properties and return value for the Replace
custom activity.
Property or Return Value | Description |
---|---|
Pattern (required) |
The regular expression to search with. |
Input (required) |
The input string to search. |
Replacement |
The replacement string. If a |
MatchEvaluator |
A custom method that examines each match and returns either the original matched string or a replacement string. If a |
RegexOptions |
Bitwise OR combination of RegexOptions enumeration values. |
Return Value |
A MatchCollection that contains the collection of successful matches. |
The following code example demonstrates how to use the Replace
custom activity.
// 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)
};
To use this sample
Using Visual Studio 2010, open the RegexActivities.sln solution file.
To build the solution, press CTRL+SHIFT+B.
To run the solution, press CTRL+F5.
Note: |
---|
The samples may already be installed on your machine. Check for the following (default) directory before continuing.
<InstallDrive>:\WF_WCF_Samples
If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF) and WF samples. This sample is located in the following directory.
<InstallDrive>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Regex
|