이 항목은 Windows Workflow Foundation 4에 적용됩니다.
이 샘플에서는 System.Text.RegularExpressions 네임스페이스의 정규식 기능을 노출하는 활동 집합을 만드는 방법을 보여 줍니다. 이러한 사용자 지정 활동을 워크플로 응용 프로그램 내에 사용할 수 있습니다. 정규식에 대한 자세한 내용은 N: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 사용자 지정 활동은 입력 문자열을 검색하고 지정된 정규식에 일치하는 모든 문자열을 대체 문자열로 바꿉니다. 이 활동은 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
이 디렉터리가 없으면 Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4로 이동하여 WCF(Windows Communication Foundation) 및 WF 샘플을 모두 다운로드하십시오. 이 샘플은 다음 디렉터리에 있습니다.
<InstallDrive>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Regex
|
참고: