本主题适用于 Windows Workflow Foundation 4。
此示例演示如何一组活动,这些活动公开 System.Text.RegularExpressions 命名空间的正则表达式功能。这些自定义活动可以在工作流应用程序中使用。有关正则表达式的更多信息,请参见 N:System.Text.RegularExpressions 命名空间(可能为英文网页)。
下表详细介绍了此示例中的自定义活动。
活动 | 说明 |
---|---|
IsMatch |
指定正则表达式是否在输入字符串中找到了匹配项。 |
Matches |
在输入字符串中搜索所有正则表达式,然后返回所有成功的匹配项。 |
Replace |
在指定的输入字符串中,用指定的替换字符串来替换与正则表达式模式匹配的字符串。 |
IsMatch
如果 Input
字符串属性在 Pattern
属性中指定的正则表达式中找到匹配项,则 IsMatch
自定义活动返回 true。该活动派生自 CodeActivity,并在 Execute 方法中调用 IsMatch 方法。
下表描述了 IsMatch
自定义活动的属性和返回值。
属性或返回值 | 说明 |
---|---|
Pattern(必需) |
用于搜索的正则表达式。 |
Input(必需) |
要搜索的输入字符串。 |
RegexOptions |
RegexOptions 枚举值的按位“或”组合。 |
返回值 |
如果输入找到了符合所提供的模式的匹配项,则为 true;否则为 false。 |
下面的代码示例演示如何使用 IsMatch
自定义活动。
new IsMatch
{
Pattern = new InArgument<string>( @"^-?\d+(\.\d{2})?$"),
Input = "20.00",
};
Matches
Matches
自定义活动在输入字符串中搜索所有正则表达式,然后返回所有成功的匹配项。该活动派生自 CodeActivity,并在 Execute 方法中调用 Matches 方法。
下表描述了 IsMatch
自定义活动的属性和返回值。
属性或返回值 | 说明 |
---|---|
Pattern(必需) |
用于搜索的正则表达式。 |
Input(必需) |
要搜索的输入字符串。 |
RegexOptions |
RegexOptions 枚举值的按位“或”组合。 |
返回值 |
一个包含成功匹配项的集合的 MatchCollection。 |
下面的代码示例演示如何使用 Matches
自定义活动。
new Matches
{
Pattern = @"\b(?<word>\w+)\s+(\k<word>)\b",
Input = "The quick brown fox fox jumped over over the lazy dog dog.",
};
Replace
Replace
自定义活动搜索输入字符串,然后用一个字符串来替换与指定的正则表达式匹配的所有字符串。该活动派生自 CodeActivity,并在 Execute 方法中调用 Replace 方法。
下表描述了 Replace
自定义活动的属性和返回值。
属性或返回值 | 说明 |
---|---|
Pattern(必需) |
用于搜索的正则表达式。 |
Input(必需) |
要搜索的输入字符串。 |
Replacement |
替换字符串。 如果指定 |
MatchEvaluator |
一个自定义方法,该方法检查每个匹配项,然后返回原始的匹配字符串或替换字符串。 如果指定 |
RegexOptions |
RegexOptions 枚举值的按位“或”组合。 |
返回值 |
一个包含成功匹配项的集合的 MatchCollection。 |
下面的代码示例演示如何使用 Replace
自定义活动。
// 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)
};
使用此示例
使用 Visual Studio 2010 打开 RegexActivities.sln 解决方案文件。
若要生成解决方案,请按 F6。
若要运行解决方案,请按 Ctrl+F5。
![]() |
---|
您的计算机上可能已安装这些示例。在继续操作之前,请先检查以下(默认)目录:
<安装驱动器>:\WF_WCF_Samples
如果此目录不存在,请访问针对 .NET Framework 4 的 Windows Communication Foundation (WCF) 和 Windows Workflow Foundation (WF) 示例(可能为英文网页),下载所有 Windows Communication Foundation (WCF) 和 WF 示例。此示例位于以下目录:
<安装驱动器>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Regex
|