このトピックの内容は、Windows Workflow Foundation 4 に該当します。
このサンプルでは、System.Text.RegularExpressions 名前空間の正規表現機能を公開する一連のアクティビティを作成する方法を示します。これらのカスタム アクティビティはワークフロー アプリケーション内で使用できます。正規表現詳細情報、「System.Text.RegularExpressions 名前空間」を参照してください。
次の表に、このサンプルのカスタム アクティビティの詳細を示します。
アクティビティ | 説明 |
---|---|
IsMatch |
正規表現で入力文字列内に一致が見つかったかどうかを示します。 |
Matches |
入力文字列で、正規表現に一致するすべての文字列を検索し、一致した文字列をすべて返します。 |
Replace |
指定された入力文字列内で、正規表現パターンに一致する文字列を、指定された置換文字列で置き換えます。 |
IsMatch
IsMatch
カスタム アクティビティは、Input
文字列プロパティが Pattern
プロパティで指定された正規表現で一致を見つけると、true を返します。このアクティビティは CodeActivity から派生し、Execute メソッド内で、IsMatch メソッドを呼び出します。
次の表で、IsMatch
カスタム アクティビティのプロパティと戻り値について説明します。
プロパティ値または戻り値 | 説明 |
---|---|
Pattern (必須) |
検索に使用する正規表現。 |
Input (必須) |
検索対象の入力文字列。 |
RegexOptions |
RegexOptions 列挙値のビット単位の OR の組み合わせ。 |
戻り値 |
指定されたパターンで一致が見つかった場合は 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 列挙値のビット単位の OR の組み合わせ。 |
戻り値 |
一致する文字列のコレクションが格納された 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
カスタム アクティビティは入力文字列を検索し、指定された正規表現と一致するすべての文字列を 1 つの文字列で置き換えます。このアクティビティは CodeActivity から派生し、Execute メソッド内で、Replace メソッドを呼び出します。
次の表で、Replace
カスタム アクティビティのプロパティと戻り値について説明します。
プロパティ値または戻り値 | 説明 |
---|---|
Pattern (必須) |
検索に使用する正規表現。 |
Input (必須) |
検索対象の入力文字列。 |
Replacement |
置換文字列。
|
MatchEvaluator |
各一致文字列を調べ、元の一致文字列または置換文字列のどちらかを返すカスタム メソッド。
|
RegexOptions |
RegexOptions 列挙値のビット単位の OR の組み合わせ。 |
戻り値 |
一致する文字列のコレクションが格納された 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 キーを押します。
![]() |
---|
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。
<InstallDrive>:\WF_WCF_Samples
このディレクトリが存在しない場合は、「.NET Framework 4 向けの Windows Communication Foundation (WCF) および Windows Workflow Foundation (WF) のサンプル」にアクセスして、Windows Communication Foundation (WCF) および WF のサンプルをすべてダウンロードしてください。このサンプルは、次のディレクトリに格納されます。
<InstallDrive>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Regex
|