Expresiones regulares como lenguaje

El lenguaje de expresiones regulares está diseñado y optimizado para manipular texto. Este lenguaje consta de dos tipos de caracteres básicos: caracteres de texto literales (normales) y metacaracteres. El conjunto de metacaracteres es el que proporciona a las expresiones regulares su eficacia de procesamiento.

Probablemente esté familiarizado con los metacaracteres ? y *, que se utilizan con el sistema de archivos DOS para representar caracteres individuales o grupos de caracteres. El comando de DOS COPY *.DOC A: es un comando de archivo que indica al sistema de archivos que copie cualquier archivo que tenga la extensión de nombre de archivo .DOC en la unidad A del disco. El metacarácter * representa cualquier nombre de archivo que preceda a la extensión de nombre de archivo .DOC. Las expresiones regulares constituyen una extensa ampliación de esta idea básica, y proporcionan un gran conjunto de metacaracteres que permiten describir expresiones de búsqueda de coincidencias de texto muy complejas con relativamente pocos caracteres.

Por ejemplo, la expresión regular "\s2000", cuando se aplica a un cuerpo de texto, coincide con todas las apariciones de la cadena "2000" que estén precedidas por algún carácter de espacio en blanco, como un espacio o una tabulación.

Nota

Si utiliza los lenguajes de programación C++, C# o JScript, los caracteres de escape especiales, como \s, deben ir precedidos de una barra diagonal inversa adicional (por ejemplo, "\\s2000") para indicar que la barra diagonal inversa del carácter de escape es un literal de cadena. Si no se incluye esta barra, el motor de búsqueda de expresiones regulares considerará que la barra diagonal inversa y la s de \s son dos operadores distintos. Con Visual Basic 2005, no es necesario agregar la barra diagonal inversa. Con C#, puede emplear cadenas literales de C#, que van precedidas por el símbolo @ y deshabilitan las secuencias de escape (por ejemplo, @"\s2000").

Las expresiones regulares pueden realizar también búsquedas más complejas. Por ejemplo, la expresión regular (?<char>\w)\k<char>, que utiliza grupos con nombre y referencias inversas, busca pares de caracteres contiguos. Si se aplica a la cadena "Tomaré un poco de café", busca coincidencias en las palabras "Tomaré", "poco" y "café". (Para obtener información detallada acerca de esta expresión regular, vea Referencias inversas.)

En las siguientes secciones se muestra información detallada sobre el conjunto de metacaracteres que definen el lenguaje de expresiones regulares de .NET Framework y se muestra la forma de utilizar las clases de expresiones regulares para implementar dichas expresiones en las aplicaciones.

Vea también

Referencia

System.Text.RegularExpressions

Conceptos

Clases de expresiones regulares

Otros recursos

Detalles del comportamiento de expresiones regulares
Ejemplos de expresiones regulares
Elementos del lenguaje de expresiones regulares