Activités d'expression régulière
Cette rubrique s'applique à Windows Workflow Foundation 4.
Cet exemple montre comment créer un ensemble d'activités qui exposent la fonctionnalité d'expression régulière de l'espace de noms System.Text.RegularExpressions. Ces activités personnalisées peuvent être utilisées dans une application de workflow. Pour plus d'informations sur le sujet suivant les expressions régulières, consultez l'espace de noms System.Text.RegularExpressions, espace de noms.
Le tableau suivant détaille les activités personnalisées dans cet exemple.
Activité | Description |
---|---|
IsMatch |
Spécifie si l'expression régulière a trouvé une correspondance dans la chaîne d'entrée. |
Matches |
Recherche une chaîne d'entrée pour toutes les occurrences d'une expression régulière et retourne toutes les correspondances réussies. |
Replace |
Dans une chaîne d'entrée spécifiée, remplace les chaînes qui correspondent à un modèle d'expression régulière par une chaîne de remplacement spécifiée. |
IsMatch
L'activité personnalisée IsMatch
retourne la valeur true si la propriété de type chaîne Input
trouve une correspondance dans l'expression régulière spécifiée dans la propriété Pattern
. L'activité dérive de CodeActivity et, dans la méthode Execute, appelle la méthode IsMatch.
Le tableau suivant décrit les propriétés et la valeur de retour pour l'activité personnalisée IsMatch
.
Propriété ou valeur de retour | Description |
---|---|
Pattern (obligatoire) |
Expression régulière avec laquelle effectuer la recherche. |
Input (obligatoire) |
Chaîne d'entrée à rechercher. |
RegexOptions |
Combinaison d'opérations de bits OR de valeurs d'énumération RegexOptions. |
Valeur de retour |
true si l'entrée trouve une correspondance dans le modèle fourni ; sinon false. |
L'exemple de code suivant montre comment utiliser l'activité personnalisée IsMatch
.
new IsMatch
{
Pattern = new InArgument<string>( @"^-?\d+(\.\d{2})?$"),
Input = "20.00",
};
Matches
L'activité personnalisée Matches
recherche une chaîne d'entrée pour toutes les occurrences d'une expression régulière et retourne toutes les correspondances réussies. L'activité dérive de CodeActivity et, dans la méthode Execute, appelle la méthode Matches.
Le tableau suivant décrit les propriétés et la valeur de retour pour l'activité personnalisée IsMatch
.
Propriété ou valeur de retour | Description |
---|---|
Pattern (obligatoire) |
Expression régulière avec laquelle effectuer la recherche. |
Input (obligatoire) |
Chaîne d'entrée à rechercher. |
RegexOptions |
Combinaison d'opérations de bits OR de valeurs d'énumération RegexOptions. |
Valeur de retour |
MatchCollection qui contient la collection des correspondances réussies. |
L'exemple de code suivant montre comment utiliser l'activité personnalisée 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
L'activité personnalisée Replace
recherche une chaîne d'entrée et remplace toutes les chaînes qui correspondent à une expression régulière spécifiée par une chaîne. L'activité dérive de CodeActivity et, dans la méthode Execute, appelle la méthode Replace.
Le tableau suivant décrit les propriétés et la valeur de retour pour l'activité personnalisée Replace
.
Propriété ou valeur de retour | Description |
---|---|
Pattern (obligatoire) |
Expression régulière avec laquelle effectuer la recherche. |
Input (obligatoire) |
Chaîne d'entrée à rechercher. |
Replacement |
Chaîne de remplacement. Si un |
MatchEvaluator |
Méthode personnalisée qui examine chaque correspondance et retourne la chaîne correspondante d'origine ou une chaîne de remplacement. Si un |
RegexOptions |
Combinaison d'opérations de bits OR de valeurs d'énumération RegexOptions. |
Valeur de retour |
MatchCollection qui contient la collection des correspondances réussies. |
L'exemple de code suivant montre comment utiliser l'activité personnalisée 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)
};
Pour utiliser cet exemple
À l'aide de Visual Studio 2010, ouvrez le fichier solution RegexActivities.sln.
Pour générer la solution, appuyez sur F6.
Pour exécuter la solution, appuyez sur CTRL+F5.
Remarque : |
---|
Les exemples peuvent déjà être installés sur votre ordinateur. Recherchez le répertoire (par défaut) suivant avant de continuer.
<LecteurInstall>:\WF_WCF_Samples
Si ce répertoire n'existe pas, rendez-vous sur la page (éventuellement en anglais) des exemples Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF) pour .NET Framework 4 pour télécharger tous les exemples Windows Communication Foundation (WCF) et WF. Cet exemple se trouve dans le répertoire suivant.
<LecteurInstall>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Regex
|