Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este tema es aplicable a Windows Workflow Foundation 4.
En este ejemplo se muestra cómo crear un conjunto de actividades que exponen la funcionalidad de expresión regular del espacio de nombres System.Text.RegularExpressions. Estas actividades personalizadas se pueden utilizar dentro de una aplicación de flujo de trabajo. Para obtener más información sobre las expresiones regulares, vea N:System.Text.RegularExpressions (Espacio de nombres).
En la siguiente tabla se detallan las actividades personalizadas de este ejemplo.
Actividad | Descripción |
---|---|
IsMatch |
Especifica si la expresión regular encontró una coincidencia en la cadena de entrada. |
Matches |
Busca todas las apariciones de una expresión regular en una cadena de entrada y devuelve todas las coincidencias correctas. |
Replace |
Dentro de una cadena de entrada especificada, reemplaza cadenas que hacen coincidir un modelo de expresión regular con una cadena de reemplazo especificada. |
IsMatch
La actividad personalizada IsMatch
devuelve true si la propiedad de cadena Input
encuentra una coincidencia en la expresión regular especificada en la propiedad Pattern
. La actividad se deriva de CodeActivity y dentro del método Execute llama al método IsMatch.
En la siguiente tabla se describen las propiedades y el valor devuelto para la actividad personalizada IsMatch
.
Propiedad o valor devuelto | Descripción |
---|---|
Pattern (necesario) |
La expresión regular con la que buscar. |
Input (necesario) |
La cadena de entrada que se va a buscar. |
RegexOptions |
Bit a bit O combinación de valores de enumeración RegexOptions. |
Valor devuelto |
true si la entrada encuentra una coincidencia en el modelo proporcionado; de lo contrario, false. |
En el siguiente ejemplo de código se muestra cómo utilizar la actividad personalizada IsMatch
.
new IsMatch
{
Pattern = new InArgument<string>( @"^-?\d+(\.\d{2})?$"),
Input = "20.00",
};
Matches
La actividad personalizada Matches
busca todas las apariciones de una expresión regular en una cadena de entrada y devuelve todas las coincidencias correctas. La actividad se deriva de CodeActivity y dentro del método Execute llama al método Matches.
En la siguiente tabla se describen las propiedades y el valor devuelto para la actividad personalizada IsMatch
.
Propiedad o valor devuelto | Descripción |
---|---|
Pattern (necesario) |
La expresión regular con la que buscar. |
Input (necesario) |
La cadena de entrada que se va a buscar. |
RegexOptions |
Bit a bit O combinación de valores de enumeración RegexOptions. |
Valor devuelto |
Un objeto MatchCollection que contiene la colección de coincidencias correctas. |
En el siguiente ejemplo de código se muestra cómo utilizar la actividad personalizada 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
La actividad personalizada Replace
busca una cadena de entrada y reemplaza todas las cadenas que hacen coincidir una expresión regular especificada con una cadena. La actividad se deriva de CodeActivity y dentro del método Execute llama al método Replace.
En la siguiente tabla se describen las propiedades y el valor devuelto para la actividad personalizada Replace
.
Propiedad o valor devuelto | Descripción |
---|---|
Pattern (necesario) |
La expresión regular con la que buscar. |
Input (necesario) |
La cadena de entrada que se va a buscar. |
Replacement |
La cadena de reemplazo. Si se establece |
MatchEvaluator |
Un método personalizado que examina cada coincidencia y devuelve la cadena coincidente original o una cadena de reemplazo. Si se establece |
RegexOptions |
Bit a bit O combinación de valores de enumeración RegexOptions. |
Valor devuelto |
Un objeto MatchCollection que contiene la colección de coincidencias correctas. |
En el siguiente ejemplo de código se muestra cómo utilizar la actividad personalizada 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)
};
Para utilizar este ejemplo
Abra el archivo de solución RegexActivities.sln con Visual Studio 2010.
Presione F6 para compilar la solución.
Presione CTRL+F5 para ejecutar la solución.
![]() |
---|
Puede que los ejemplos ya estén instalados en su equipo. Compruebe el siguiente directorio (valor predeterminado) antes de continuar.
<InstallDrive>: \WF_WCF_Samples
Si no existe este directorio, vaya a la página de ejemplos de Windows Communication Foundation (WCF) y Windows Workflow Foundation (WF) Samples para .NET Framework 4 para descargar todos los ejemplos de Windows Communication Foundation (WCF) y WF. Este ejemplo se encuentra en el siguiente directorio.
<InstallDrive>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Regex
|