Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Expresiones regulares en C#: Guía práctica

Una expresión regular (regex) es un patrón que se puede comparar con un texto de entrada. El framework .Net proporciona un motor de expresiones regulares para dicha coincidencia. Un patrón consiste en uno o más literales de caracteres, operadores o constructos.

Constructos para definir expresiones regulares

Hay varias categorías de caracteres, operadores y constructos:

La clase Regex

La clase Regex representa una expresión regular. Métodos comúnmente usados:

Nº Método y descripción
1IsMatch(input): Indica si la regex encuentra coincidencia en la cadena de entrada.
2IsMatch(input, startat): Indica coincidencia comenzando en la posición especificada.
3IsMatch(input, pattern) (estático): Indica si la regex especificada encuentra coincidencia.
4Matches(input): Busca todas las ocurrencias de una regex en la cadena.
5Replace(input, replacement): Reemplaza todas las cadenas que coinciden con el patrón por la cadena de reemplazo.
6Split(input): Divide una cadena en un array de subcadenas en posiciones definidas por el patrón regex.

Para la lista completa, consulte la documentación de Microsoft sobre C#.

Ejemplo 1: Palabras que empiezan con 'S'

using System;
using System.Text.RegularExpressions;

namespace AplicaciónRegEx {
    class Program {
        private static void MostrarCoincidencia(string texto, string expr) {
            Console.WriteLine("La expresión: " + expr);
            MatchCollection mc = Regex.Matches(texto, expr);
            foreach (Match m in mc) {
                Console.WriteLine(m);
            }
        }
        
        static void Main(string[] args) {
            string str = "A Thousand Splendid Suns";
            Console.WriteLine("Palabras que empiezan con 'S':");
            MostrarCoincidencia(str, @"\bS\S*");
            Console.ReadKey();
        }
    }
}

Resultado:

Palabras que empiezan con 'S':
La expresión: \bS\S*
Splendid
Suns

Ejemplo 2: Palabras que empiezan con 'm' y terminan en 'e'

using System;
using System.Text.RegularExpressions;

namespace AplicaciónRegEx {
    class Program {
        private static void MostrarCoincidencia(string texto, string expr) {
            Console.WriteLine("La expresión: " + expr);
            MatchCollection mc = Regex.Matches(texto, expr);
            foreach (Match m in mc) {
                Console.WriteLine(m);
            }
        }
        
        static void Main(string[] args) {
            string str = "make maze and manage to measure it";
            Console.WriteLine("Palabras que empiezan con 'm' y terminan en 'e':");
            MostrarCoincidencia(str, @"\bm\S*e\b");
            Console.ReadKey();
        }
    }
}

Resultado:

Palabras que empiezan con 'm' y terminan en 'e':
La expresión: \bm\S*e\b
make
maze
manage
measure

Ejemplo 3: Reemplazar espacios en blanco extra

using System;
using System.Text.RegularExpressions;

namespace AplicaciónRegEx {
    class Program {
        static void Main(string[] args) {
            string input = "Hello   World ";
            string pattern = @"\s+";
            string replacement = " ";
            Regex rgx = new Regex(pattern);
            string result = rgx.Replace(input, replacement);
            Console.WriteLine("Cadena original: {0}", input);
            Console.WriteLine("Cadena reemplazo: {0}", result);
            Console.ReadKey();
        }
    }
}

Resultado:

Cadena original: Hello   World 
Cadena reemplazo: Hello World

Lenguaje C

  1. Expresiones, sentencias y bloques en C#: Guía completa con ejemplos prácticos
  2. Dominando strings en C#: Fundamentos, operaciones y técnicas avanzadas
  3. Dominando funciones de cadena en C++: strcpy, strcat, strlen, strcmp – Ejemplos prácticos
  4. Cadenas en C hechas fáciles: Declaración, entrada, salida y funciones de biblioteca
  5. Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos
  6. Entender Expresiones, Sentencias y Bloques en Java
  7. Dominar Strings en Java: Creación, Métodos y Mejores Prácticas
  8. Dominando representaciones String en Enums de Java
  9. Dominando Expresiones Lambda en Java: Desde Básicos hasta Stream API
  10. Clase String en Java: Dominando Creación y Manipulación de Cadenas
  11. Expresiones Regulares en Java: Dominando la Coincidencia de Patrones con java.util.regex