Partager via


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 Replacement est spécifié, la propriété MatchEvaluator est ignorée. La propriété Replacement ou MatchEvaluator doit être définie.

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 Replacement est spécifié, la propriété MatchEvaluator est ignorée. La propriété Replacement ou MatchEvaluator doit être définie.

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

  1. À l'aide de Visual Studio 2010, ouvrez le fichier solution RegexActivities.sln.

  2. Pour générer la solution, appuyez sur F6.

  3. Pour exécuter la solution, appuyez sur CTRL+F5.

Dd797587.Important(fr-fr,VS.100).gif 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