C# regex con ejemplos

C# regex con ejemplos
Las expresiones regulares son una de las mejores herramientas utilizadas para igualar, buscar y reemplazar el texto basado en patrones específicos. C# ofrece soporte para expresiones regulares a través del Sistema.Texto.Expresiones regulares espacio de nombres, que proporciona un conjunto integral de clases y métodos para usar regex en el código. Este artículo explicará C# regex y proporcionará ejemplos de cómo usarlo de manera efectiva, por lo que si está buscando una manera fácil de aprender al usarlos, lea esta guía.

Regex en C#

Una expresión regular es un patrón utilizado para coincidir, buscar y manipular texto; Se puede utilizar para una variedad de tareas, incluida la validación de la entrada, la búsqueda de patrones específicos dentro de una cadena y reemplazo de texto basado en patrones específicos.

C# Ejemplos de regex

En C#, las expresiones regulares se implementan a través de la clase Regex, que proporciona métodos para crear, coincidir y manipular expresiones regulares. La clase Regex es parte del espacio de nombres, que se incluye en el .Marco neto, aquí hay cuatro ejemplos que se discuten en esta guía:

  • Coincidir con un patrón simple
  • Extracción de susters de una cadena
  • Reemplazar susters en una cadena
  • Dividir una cuerda
  • Validando una entrada

Ejemplo 1: coincidir con un patrón simple - C# regex

En este ejemplo, usaremos regex para que coincida con un patrón simple en una cadena. Crearemos un objeto regex que coincida con el patrón "gato" y lo usaremos para buscar el patrón en una cadena.

usando el sistema;
Uso del sistema.Texto.Expresiones regulares;
programa de clase

void estático main ()

String input = "Hola y bienvenido a Linuxhint";
Regex regex = new Regex ("bienvenido");
Match Match = regex.Coincidir (entrada);
if (coincidente.Éxito)

Consola.WriteLine ("Match Found:" + Match.Valor);

demás

Consola.WriteLine ("No se encontró ningún partido.");


En este código, creamos un objeto regex que coincida con el patrón "bienvenido" y lo usamos para buscar el patrón en la cadena "Hola y bienvenido a Linuxhint."El método de coincidencia devuelve un objeto de coincidencia que contiene información sobre la coincidencia, incluida la posición de la coincidencia y el valor de la coincidencia. Si se encuentra una coincidencia, imprimimos el valor de la coincidencia en la consola y si no se encuentra coincidencia, imprimimos un mensaje que indica que no se encontró no coincidir, aquí está la salida del código:

Ejemplo 2: Extracción de sustros de una cadena - C# regex

En este ejemplo, usaremos regex para extraer sustros de una cadena. Crearemos un objeto regex que coincida con el patrón para un número de teléfono válido y lo usaremos para extraer el código de área de una cadena de número de teléfono.

usando el sistema;
Uso del sistema.Texto.Expresiones regulares;
programa de clase

void estático main ()

String input = "Número de teléfono: (361) 785-9370";
Regex regex = new Regex (@"\ ((\ d 3) \) (\ d 3)-(\ d 4)");
Match Match = regex.Coincidir (entrada);
if (coincidente.Éxito)

Consola.WriteLine ("Número de teléfono:" + Match.Valor);
Consola.WriteLine ("Código de área:" + Match.Grupos [1].Valor);
Consola.WriteLine ("Dígitos:" + Match.Grupos [2].Valor);

demás

Consola.WriteLine ("No se encontró ningún partido.");


En este código, creamos un objeto regex que coincide con el patrón para el código de área de un número de teléfono, que está encerrado entre paréntesis. Utilizamos la propiedad de grupos del objeto de coincidencia para acceder al grupo capturado, que contiene el código de área.

La expresión regular @”\ (((\ D 3) \) (\ d 3)-(\ d 4)” coincide con todo el patrón de número de teléfono, que consiste en un código de área encerrado entre paréntesis, un espacio y tres dígitos seguidos de un guión y cuatro dígitos más. El primer grupo de captura (\ d 3) coincide con el código de área, el segundo grupo de captura (\ d 3) coincide con los tres dígitos después del espacio, y el tercer grupo de captura (\ d 4) coincide con los cuatro dígitos después del guión. Si no se encuentra ninguna coincidencia, imprimimos un mensaje que indica que no se encontró coincidencia, aquí está el resultado del código:

Ejemplo 3: Reemplazo de sustros en una cadena - C# regex

En este ejemplo, utilizaremos regex para reemplazar las subcadenas en una cadena. Crearemos un objeto regex que coincida con el patrón para una palabra y lo usaremos para reemplazar todas las ocurrencias de la palabra "perro" con la palabra "gato" en una cadena dada.

usando el sistema;
Uso del sistema.Texto.Expresiones regulares;
programa de clase

void estático main ()

String input = "Hola y bienvenido a Linuxhint.";
Regex regex = new Regex ("Hello");
String output = regex.Reemplazar (entrada, "saludos");
Consola.Escritura (salida);

Este código demuestra cómo usar el reemplazo () para reemplazar la primera aparición de una coincidencia de expresión regular en una cadena con un nuevo valor. En este código, creamos un objeto regex que coincida con el patrón "hola". Utilizamos el método de reemplazo para reemplazar todos los ocurrencias del patrón con la cadena "saludos" y la cadena resultante se imprime en la consola y aquí está la salida del código:

Ejemplo 4: dividir una cadena - C# regex

En este ejemplo, usaremos regex para dividir una cadena en sustrings. Crearemos un objeto regex que coincida con el patrón para Whitespace y lo usaremos para dividir una cadena dada en una matriz de sustros.

usando el sistema;
Uso del sistema.Texto.Expresiones regulares;
programa de clase

void estático main ()

String input = "Hola y bienvenido a Linuxhint.";
Regex regex = newregex (@"\ s+");
String [] sustrings = regex.División (entrada);
foreach (subcadena de cadena en subcadenas)

Consola.Escritura (subcadena);


En este código, creamos un objeto regex que coincida con el patrón para caracteres en blanco, como espacios y pestañas. Utilizamos el método dividido para dividir la cadena de entrada en las matrices de sustros, utilizando el patrón de espacio blanco como delimitador. Las subcadenas resultantes se imprimen en la consola utilizando un bucle foreach y aquí está la salida del código:

Este código demuestra cómo usar la división () para dividir una cadena en una matriz de subcadenas basada en una coincidencia de expresión regular. En este caso, la expresión regular coincide con uno o más caracteres en blanco (\ s+), por lo que la cadena de entrada se divide en tres subcadenas: "Hola", "y" y "Bienvenido a Linuxhint".

Ejemplo 5: Uso de una expresión regular para validar la entrada - C# regex

En este ejemplo, utilizaremos regex para validar la entrada del usuario. Crearemos un objeto regex que coincida con el patrón para una dirección de correo electrónico válida y lo usaremos para validar la entrada proporcionada por el usuario.

usando el sistema;
Uso del sistema.Texto.Expresiones regulares;
programa de clase

void estático main ()

Consola.Escribir ("Ingrese su dirección de correo electrónico:");
String Input = Consola.Readline ();
Regex regex = new Regex (@"^[\ w- \.]+@([[\ w-]+\.)+[\ w-] 2,4 $ ");
if (regex.Ismatch (entrada))

Consola.WriteLine ("Dirección de correo electrónico válida.");

demás

Consola.WriteLine ("Dirección de correo electrónico no válida.");


En este código, creamos un objeto regex que coincida con el patrón para una dirección de correo electrónico válida. El patrón es una expresión regular compleja que coincide con el formato de una dirección de correo electrónico típica. Utilizamos el método ISMatch para probar si la entrada proporcionada por el usuario coincide con el patrón y si la entrada coincide con el patrón, imprimimos un mensaje que indica que la dirección de correo electrónico es válida, si la entrada no coincide con el patrón, imprimimos un mensaje indicando que la dirección de correo electrónico no es válida.

Algunas expresiones comunes regex

La tabla de expresiones regex proporciona una lista de patrones de expresión regulares comunes utilizados para la manipulación de texto en C#. La columna "Expresión" contiene la sintaxis real utilizada para el texto coincidente, mientras que la columna "Descripción" proporciona una breve explicación de la función del patrón:

Expresión Descripción
"X, y" Coincidencias entre los acontecimientos X e Y del carácter o grupo anterior
"+" Coincide con uno o más del personaje o grupo anterior
"^" Coincide con el inicio de una cadena
"[]" Coincide con cualquier personaje dentro de los soportes
"norte" Coincide exactamente n ocurrencias del personaje o grupo anterior
"[^]" Coincide con cualquier personaje que no esté dentro de los soportes
"." Coincide con cualquier personaje, excepto una nueva línea
ps Coincide con el final de una cadena
"s" Coincide con cualquier carácter de espacio en blanco (espacio, pestaña, nueva línea, etc.)
"\S" Coincide con cualquier personaje que no sea de espacio blanco
"W" Haga coincidir cualquier carácter de palabra (letra, dígito o subrayado)
"\d" Coincide con cualquier dígito (0-9)
"()" Agrupe una serie de personajes juntos
"W" Coincide con cualquier personaje que no sea palabras
Coincide con uno o más del personaje o grupo anterior
"\D" Coincide con cualquier personaje que no sea un dígito

Conclusión

En conclusión, las expresiones regulares son una forma poderosa de trabajar con datos de texto en C#. Estos 5 ejemplos demuestran la versatilidad de RegEx, desde una coincidencia de patrón simple hasta operaciones más avanzadas como validación y manipulación de cadenas. Al dominar a Regex, puede mejorar enormemente su capacidad de trabajar con datos de texto en C#.