Expresiones regulares en PHP con ejemplos: guía completa para principiantes

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Expresiones regulares en PHP: ¿qué son y para qué sirven?



Las expresiones regulares (regex) son una herramienta poderosa para buscar, reemplazar y validar cadenas de texto según un patrón. En PHP, se implementan a través de un conjunto de funciones que permiten al desarrollador trabajar de manera flexible con datos textuales. Para los principiantes, este tema puede parecer complejo, pero en la práctica simplifica significativamente el procesamiento de formularios, la validación de correos electrónicos, el análisis de URL y muchas otras tareas.



En este artículo, analizaremos la sintaxis básica de las expresiones regulares en PHP, revisaremos las funciones principales y proporcionaremos ejemplos claros para cada una de ellas.



1. Fundamentos de la sintaxis de expresiones regulares



Una expresión regular en PHP es una cadena encerrada entre delimitadores (generalmente la barra inclinada /). Dentro de esta cadena se encuentran caracteres especiales (metacaracteres) y caracteres comunes.



Metacaracteres principales



  • . — cualquier carácter, excepto salto de línea.
  • ^ — inicio de la cadena.
  • $ — final de la cadena.
  • * — cero o más repeticiones del carácter anterior.
  • + — una o más repeticiones.
  • ? — cero o una repetición.
  • \\d — cualquier dígito (equivalente a [0-9]).
  • \\w — cualquier letra, dígito o guion bajo.
  • \\s — cualquier carácter de espacio en blanco.
  • [] — clase de caracteres (por ejemplo, [a-z] — todas las letras minúsculas latinas).
  • () — agrupación.


Ejemplo de un patrón simple



Supongamos que queremos verificar si una cadena contiene la palabra "php". El patrón más simple sería:



/php/


Este patrón encontrará la subcadena "php" en cualquier parte de la cadena (por ejemplo, no encontrará "PHP" porque distingue entre mayúsculas y minúsculas). Para hacer la búsqueda insensible a mayúsculas, se usa el modificador i:



/php/i


Ahora el patrón coincidirá con "PHP", "Php" y "php".



2. Funciones principales para trabajar con expresiones regulares en PHP



PHP proporciona varias funciones clave. Veamos las tres más populares: preg_match, preg_replace y preg_split.



2.1. preg_match — verificación de coincidencia



La función preg_match verifica si una cadena coincide con un patrón. Devuelve 1 si se encuentra una coincidencia y 0 en caso contrario. También se puede pasar un tercer argumento: un array donde se almacenarán todas las coincidencias encontradas.



Ejemplo: validación de correo electrónico



<?php$email = "user@example.com";$pattern = "/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/";

if (preg_match($pattern, $email)) { echo "¡El correo es válido!";} else { echo "¡El correo no es válido!";}?>


Explicación del patrón:

  • ^ — inicio de la cadena.
  • [a-zA-Z0-9._-]+ — uno o más caracteres: letras latinas, dígitos, punto, guion bajo o guion.
  • @ — el símbolo "@" obligatorio.
  • [a-zA-Z0-9.-]+ — nombre de dominio.
  • \\. — punto escapado.
  • [a-zA-Z]{2,} — dominio de nivel superior (al menos 2 letras).
  • $ — final de la cadena.


2.2. preg_replace — reemplazo según patrón



La función preg_replace busca coincidencias con un patrón y las reemplaza con la cadena especificada. Esto es especialmente útil para limpiar datos o formatear texto.



Ejemplo: eliminar todos los dígitos de una cadena



<?php$text = "Mi número: 123-456-7890";$pattern = "/\\d+/";$replacement = "[DÍGITOS]";

$result = preg_replace($pattern, $replacement, $text);echo $result; // Mostrará: "Mi número: [DÍGITOS]-[DÍGITOS]-[DÍGITOS]"?>

Blogs

Book Recommendations