Coincidencia de un patrón mediante Visual C# y expresiones regulares
En este artículo paso a paso se presenta cómo crear y usar expresiones regulares para determinar si las cadenas coinciden con determinados patrones.
Versión original del producto: Visual C#
Número de KB original: 308252
Resumen
Las expresiones regulares permiten un análisis y coincidencia sencillos de cadenas con un patrón específico. Con los objetos disponibles en el RegularExpressions
espacio de nombres, puede comparar una cadena con un patrón determinado, reemplazar un patrón de cadena por otra cadena o recuperar solo partes de una cadena con formato. En este ejemplo, construiremos un patrón para validar una dirección de correo electrónico. En este artículo se hace referencia al espacio de nombres System.Text.RegularExpressions
biblioteca de clases de Microsoft .NET Framework .
Requisitos
En este artículo se supone que está familiarizado con los temas siguientes:
- Visual C#
- Sintaxis de expresiones regulares
Uso de expresiones regulares para que coincidan con un patrón
Inicie Visual C#.
Cree una nueva aplicación de consola de Visual C#.
Especifique la palabra clave using en el
Text.RegularExpressions
espacio de nombres para que no sea necesario calificar las declaraciones en esos espacios de nombres más adelante en el código. La instrucción using debe usarse antes de cualquier otra declaración:using System.Text.RegularExpressions;
Defina una nueva expresión regular que usará una coincidencia de patrón para validar una dirección de correo electrónico. La siguiente expresión regular está estructurada para lograr tres cosas:
- Capture la subcadena antes del
@
símbolo y colóquela en eluser
grupo. - Capture la subcadena después del
@
símbolo y colóquela en elhost
grupo. - Asegúrese de que la primera mitad de la cadena no tenga un
@
símbolo.
Regex emailregex = new Regex("(?<user>[^@]+)@(?<host>.+)");
- Capture la subcadena antes del
Defina una nueva cadena que contenga una dirección de correo electrónico válida. Esto proporciona un valor predeterminado si el argumento de línea de comandos del método está vacío:
String s = "johndoe@tempuri.org";
Compruebe si hay parámetros de línea de comandos; Si hay, recupere el primer parámetro y asígnelo a la variable
s
.if (args.Length > 0) { s = args[0]; }
Use el
Match
método para pasar la variable de dirección de correo electrónico y devolver un nuevoMatch
objeto. ElMatch
objeto devolverá independientemente de si se encontraron coincidencias en la cadena de origen.Match m = emailregex.Match(s);
Al examinar la
Success
propiedad, podemos decidir si desea continuar procesando elMatch
objeto o imprimir un mensaje de error. Si se ejecuta correctamente, muestre losuser
grupos con nombre yhost
dentro de laGroups
colección delMatch
objeto .if (m.Success) { Console.WriteLine ("User: " + m.Groups["user"].Value); Console.WriteLine ("Host: " + m.Groups["host"].Value); } else { Console.WriteLine (s + " is not a valid email address"); } Console.WriteLine ();
Para mantener abierta la ventana de consola después de ejecutar la aplicación, agregue las siguientes líneas de código:
System.Console.WriteLine("Press Enter to Continue..."); System.Console.ReadLine();
Compile el proyecto.
Para ejecutar la aplicación en el entorno de desarrollo con la dirección de correo electrónico predeterminada especificada en el código, presione F5 o seleccione Iniciar en el menú Depurar . Para iniciar la aplicación con un argumento de línea de comandos, hay tres opciones:
- En el menú Proyecto , haga clic en Propiedadesy, a continuación, haga clic en Depurar. En la sección Opciones de inicio del panel derecho, especifique la dirección de correo electrónico que desea probar. Presione F5 o haga clic en Iniciar en el menú Depurar para ejecutar la aplicación.
- Inicie una ventana de comandos y vaya a la carpeta bin o debug en la carpeta en la que reside el proyecto. A continuación, escriba el nombre del archivo ejecutable seguido de la dirección de correo electrónico que desea probar.
- Busque el archivo ejecutable de este proyecto y arrástrelo al inicio... Ventana Ejecutar en la barra de tareas. Agregue la dirección de correo electrónico para comprobarla y haga clic en Aceptar.
Referencias
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de