====== Expresiones regulares ====== Las expresiones regulares son patrones utilizados para encontrar una determinada combinación de caracteres dentro de una cadena de texto. Las expresiones regulares proporcionan una manera muy flexible de buscar o reconocer cadenas de texto. ===== Construcción ===== * Alternación * Cuantificación * Agrupación ==== Alternación ==== La barra vertical (''|'') separa las alternativas: amarillo|azul Se corresponde con ''amarillo'' o ''azul'' ==== Cuantificación ==== Un cuantificador tras un carácter indica la frecuencia con la que este puede ocurrir. Los cuantificadores más comunes son: * ''?'': indica que el carácter que le precede puede aparecer como mucho 1 vez. Por ejemplo: ''ob?scuro'' se corresponde con ''oscuro'' y ''obscuro''. * ''+'': indica que el carácter que le precede debe aparecer al menos 1 vez. Por ejemplo: ''ho+la'' se correspondería con ''hola'', ''hoola'', ''hooola'', etc. * ''*'': indica que el carácter que le precede puede aparecer 0, 1 o más veces. Por ejemplo: ''0*42'' se corresponde con ''42'', ''042'', ''0042'', ''00042'', etc ==== Agrupación ==== Define el ámbito y precedencia de los demás operadores. ===== Ejemplos ===== ==== E-mail ==== Busca una dirección de e-mail ignorando mayúsculas y minúsculas. /[\w-\.]+@([\w-]+\.)+[\w-]{2,4}/i ==== Enlaces ed2k ==== En un fichero con código HTML, extraer los enlaces que empiecen por ''ed2k'': cat fichero.html | grep -Eo 'ed2k[^"]+' > ed2k-links.txt ==== Dirección IP ==== Patrón para validar una dirección IPv4: ^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$