Expresión regular PHP / Regex: preg_match () - preg_replace ()

¿Qué es la expresión regular en PHP?

Las expresiones regulares de PHP, también conocidas como regex, son un poderoso algoritmo de coincidencia de patrones que se puede realizar en una sola expresión. Las expresiones regulares usan operadores aritméticos como (+, -, ^) para crear expresiones complejas. Pueden ayudarlo a realizar tareas como validar direcciones de correo electrónico, dirección IP, etc.

Por que usar expresiones regulares

  • Las expresiones regulares de PHP simplifican la identificación de patrones en datos de cadena llamando a una sola función. Esto nos ahorra tiempo de codificación.
  • Al validar la entrada del usuario, como la dirección de correo electrónico, los nombres de dominio, los números de teléfono, las direcciones IP,
  • Resaltar palabras clave en los resultados de búsqueda
  • Al crear una plantilla HTML personalizada. Regex en PHP se puede utilizar para identificar las etiquetas de la plantilla y reemplazarlas con datos reales.

En este tutorial de PHP Regex, aprenderá:

  • Funciones de expresión regular incorporadas en PHP
  • PHP Preg_match ()
  • PHP Preg_split ()
  • PHP Preg_replace ()
  • Metacaracteres de expresión regular
  • Explicando el patrón

Funciones de expresión regular incorporadas en PHP

PHP tiene funciones integradas que nos permiten trabajar con funciones regulares que aprenderemos en este tutorial de Expresiones regulares PHP. Veamos las funciones de expresión regular de uso común en PHP.

  • preg_match () en PHP: esta función se utiliza para realizar la coincidencia de patrones en PHP en una cadena. Devuelve verdadero si se encuentra una coincidencia y falso si no se encuentra una coincidencia.
  • preg_split () en PHP: esta función se usa para realizar una coincidencia de patrón en una cadena y luego dividir los resultados en una matriz numérica
  • preg_replace () en PHP: esta función se usa para realizar una coincidencia de patrón en una cadena y luego reemplazar la coincidencia con el texto especificado.

A continuación se muestra la sintaxis de una función de expresión regular como PHP preg_match (), PHP preg_split () o PHP preg_replace ().


AQUÍ,

  • "nombre_función (…)" es PHP preg_match (), PHP preg_split () o PHP preg_replace ().
  • "/… /" Las barras diagonales indican el comienzo y el final de nuestra función de prueba de expresiones regulares de PHP
  • "'/ patrón /'" es el patrón que necesitamos hacer coincidir
  • "asunto" es la cadena de texto con la que se comparará

Veamos ahora ejemplos prácticos que implementan las funciones de expresiones regulares de PHP anteriores.

PHP Preg_match ()

El primer ejemplo usa preg_match () en la función PHP para realizar una coincidencia de patrón simple para la palabra guru en una URL determinada.

El siguiente código muestra la implementación de la función de prueba preg_match () para el ejemplo anterior.


Busque la URL http: //localhost/phptuts/preg_match_simple.php

Examinemos la parte del código responsable de nuestra salida "preg_match ('/ guru /', $ my_url)" AQUÍ,

  • "preg_match (…)" es la función regex de PHP
  • "'/ guru /'" es el patrón de expresión regular que debe coincidir
  • "$ my_url" es la variable que contiene el texto que se va a comparar.

El siguiente diagrama resume los puntos anteriores.

PHP Preg_split ()

Veamos ahora otro ejemplo que usa preg_split () en la función PHP.

Tomaremos una frase de cadena y la convertiremos en una matriz; el patrón a emparejar es un solo espacio.

La cadena de texto que se utilizará en este ejemplo es "Me encantan las expresiones regulares".

El siguiente código ilustra la implementación del ejemplo anterior.


Busque la URL http: //localhost/phptuts/preg_split.php

PHP Preg_replace ()

Veamos ahora la función preg_replace () en PHP que realiza una coincidencia de patrón y luego reemplaza el patrón con otra cosa.

El siguiente código busca la palabra guru en una cadena.

Reemplaza la palabra guru con la palabra guru rodeada de código CSS que resalta el color de fondo.


Suponiendo que ha guardado el archivo preg_replace.php, navegue a la URL http: //localhost/phptuts/preg_replace.php

Metacaracteres de expresión regular

Los ejemplos anteriores utilizaron patrones muy básicos; Los metacaracteres simplemente nos permiten realizar coincidencias de patrones más complejas, como probar la validez de una dirección de correo electrónico. Veamos ahora los metacaracteres de uso común.

Metacarácter Descripción Ejemplo
. Coincide con cualquier carácter individual excepto una nueva línea /./ coincide con cualquier cosa que tenga un solo carácter
^ Coincide con el principio de o cadena / excluye caracteres / PH / coincide con cualquier cadena que comience con PH
PS Coincide con el patrón al final de la cuerda / com $ / coincide con guru99.com, yahoo.com, etc.
* Coincide con cualquier cero (0) o más caracteres / com * / coincide con computadora, comunicación, etc.
+ Requiere que los caracteres anteriores aparezcan al menos una vez / yah + oo / coincide con yahoo
\ Se usa para escapar de los metacaracteres /yahoo+\.com/ trata el punto como un valor literal
[…] Clase de personaje / [abc] / coincide con abc
Arizona Coincide con letras minúsculas / az / coincide con cool, happy, etc.
Arizona Coincide con letras mayúsculas / AZ / coincide con QUÉ, CÓMO, POR QUÉ, etc.
0-9 Coincide con cualquier número entre 0 y 9 / 0-4 / coincidencias 0,1,2,3,4

La lista anterior solo proporciona los metacaracteres más utilizados en expresiones regulares.

Veamos ahora un ejemplo bastante complejo que verifica la validez de una dirección de correo electrónico.

 

Explicando el patrón "[/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/] "

AQUÍ,

  • "'/… /'" Comienza y finaliza la expresión regular
  • "[a-zA-Z0-9 ._-]" coincide con letras minúsculas o mayúsculas, números entre 0 y 9 y puntos, guiones bajos o guiones.
  • "+ @ [a-zA-Z0-9-]" coincide con el símbolo @ seguido de letras minúsculas o mayúsculas, números entre 0 y 9 o guiones.
  • "+ \. [a-zA-Z.] {2,5} $ /" escapa del punto usando la barra invertida y luego hace coincidir cualquier letra minúscula o mayúscula con una longitud de carácter entre 2 y 5 al final de la cadena.

Busque la URL http: //localhost/phptuts/preg_match.php

Como puede ver en el desglose del ejemplo anterior, los metacaracteres son muy poderosos cuando se trata de combinar patrones.

Resumen

  • Una expresión regular o Regex en PHP es un algoritmo de coincidencia de patrones
  • Las expresiones regulares son muy útiles cuando se realizan comprobaciones de validación, se crean sistemas de plantillas HTML que reconocen etiquetas, etc.
  • PHP ha incorporado funciones a saber PHP preg_match (), PHP preg_split () y PHP preg_replace () que admiten expresiones regulares.
  • Los metacaracteres nos permiten crear patrones complejos

Articulos interesantes...