Es una secuencia de caracteres que forma un patrón de búsqueda, principalmente utilizada para la búsqueda de patrones de cadenas de caracteres u operaciones de sustituciones. La mayoría de las formalizaciones proporcionan los siguientes constructores: una expresión regular es una forma de representar los lenguajes regulares (finitos o infinitos) y se construye utilizando caracteres del alfabeto sobre el cual se define el lenguaje.
En informática, las expresiones regulares proporcionan una manera muy flexible de buscar o reconocer cadenas de texto.
Su utilidad más obvia es la de describir un conjunto de cadenas para una determinada función, resultando de utilidad en editores de texto y otras aplicaciones informáticas para buscar y manipular textos.
Numerosos editores de texto y otras herramientas utilizan expresiones regulares para buscar y reemplazar patrones en un texto. Inicialmente, este reconocimiento de cadenas se programaba para cada aplicación sin mecanismo alguno inherente al lenguaje de programación pero, con el tiempo, se ha ido incorporado el uso de expresiones regulares para facilitar programar la detección de ciertas cadenas.
CONSTRUCCIÓN DE UNA EXPRESIÓN REGULAR
Específicamente, las expresiones regulares se construyen utilizando los operadores unión, concatenación y clausura de Kleene. Toda expresión regular tiene algún autómata finito asociado.
Alternación: Una barra vertical separa las alternativas.
Cuantificación: Un cuantificador tras un carácter específica la frecuencia con la que éste puede ocurrir. Los cuantificadores más comunes son «?», «+» y «*»:
- ?: El signo de interrogación indica que el carácter que le precede puede aparecer como mucho una vez.
- +: El signo más indica que el carácter que le precede debe aparecer al menos una vez..
- *: El asterisco indica que el carácter que le precede puede aparecer cero, una, o más veces.
Agrupación: Los paréntesis pueden usarse para definir el ámbito y precedencia de los demás operadores.
Los constructores pueden combinarse libremente dentro de la misma expresión.