EXPRESIONES REGULARES: GUÍA COMPLETA PARA PROGRAMADORES
Una expresión regular es una secuencia de caracteres que define un patrón de búsqueda. Este patrón se utiliza para encontrar coincidencias dentro de cadenas de texto. Por ejemplo el patrón ·"niñ" coincide con: "niño", "niña", "niños" y "niñas" pero no con "Niña" ya que distingue mayúsculas por defecto. Las expresiones regulares, o regex son soportadas por la mayoría de los lenguajes de programación modernos, editores de texto y bases de datos.Metacaracteres Básicos
Los metacaracteres son símbolos con significado especial:Clases de Caracteres Predefinidas
- "\d": Dígito (0-9)
- "\D": Cualquier cosa que no sea dígito
- "\w": Carácter alfanumérico y guion bajo
- "\W": Lo contrario de "\w"
- "\s": Espacio en blanco, espacio, tabaulado, salto de línea
- "\S": Lo contrario de "\s".
Ejemplos
- "\d{3}-\d{3}-\d{4}": Número de teléfono formato XXX-XXX-XXXX
- "[\w\.-]+@[\w\.-]+\.\w+": Correo electrónico básico
Cuantificadores
- "*": 0 o más
- "+": 1 o más
- "?": 0 o 1
- "{n}": Exactamente n veces
- "{n,}": n o más veces
- "{n,m}": Entre n y m veces
Avance y Retroceso
- "(?=patrón)": Avance positivo
- "(?!patrón)": Avance negativo
- "(?<=patrón)": Retorceos positivo
- "(?<!patrón)": Retroceso negativo
// Encontrar "USD" solo si va seguido de un número:
USD(?=\d)
Modificadores Comunes
- "i": No distingue mayúsculas
- "m": Multilínea, "^" y "$" actúan por línea
- "s": Coincide con saltos de línea
- "g": Ttodas las coincidencias
- "x" Comentarios y espacios
Mejores Prácticas
- Evitar usar ".*" cuando se pueda ser más preciso.
- Comentar las expresiones regulaes complejas flag "x" o comentarios en el código.
- Probar con herramientas: regex101.com, RegExr o Debuggex.
- Considerar el rendimiento: Las expresiones regulaes muy complejas pueden ser lentas.