21-expresiones regulares en php

Expresion regular es una secuencia de caracteres que forma un patron de busqueda

cuando se busca datos en un texto, puede usar un patron de busqueda para discribir lo que esta buscando

una expresion regular puede ser un solo caracter o un patron mas complicado

las expresiones regulares se pueden usar para realizar todo el tipo de busqueda de texto y reemplazo de texto

Sintaxis

En PHP, las expresiones regulares son cadenas compuestas de delimitadores, un patrón y opciones modificadores

$exp = "/frioyelectronica/i";

En el ejemplo anterior, / es el delimitador, frioyelectronica es el patrón que se busca, y i es un modificador que hace que la búsqueda no distinga entre mayúsculas y minúsculas

El delimitador puede ser cualquier carácter que no sea una letra, un número, una barra invertida o un espacio.

delimitador más común es la barra diagonal (/), pero cuando su patrón contiene barras es conveniente elegir otros delimitadores como # o ~.




...

Funciones de expresiones regulares

PHP proporciona una variedad de funciones que le permiten usar expresiones regulares.

los preg_match(), preg_match_all()y preg_replace() funciones son algunas de las los más utilizados:


Funcion Descricion
preg_match() Devuelve 1 si el patrón se encontró en la cadena y 0 si no
preg_match_all() Devuelve el número de veces que se encontró el patrón en la cadena, que también puede ser 0
preg_replace() Devuelve una nueva cadena donde los patrones coincidentes se han reemplazado con otra cadena



Usando preg_match()

La función preg_match() le dirá si una cadena contiene coincidencias de un patrón.

ejemplo

Utilice una expresión regular para realizar una búsqueda sin distinción entre mayúsculas y minúsculas de "frioyelectronica" en una cadena:

<?php
$str = "Visit frioyelectronica";
$pattern = "/frioyelectronica/i";
echo preg_match($pattern, $str); // Outputs 1
?> 



Usando preg_match_all()

los preg_match_all() le dirá cuántas coincidencias se encontraron para un patrón en un cuerda.

Ejemplo

Use una expresión regular para hacer un conteo insensible a mayúsculas y minúsculas del número de apariciones de "ain" en una cadena:

<?php
$str = "La lluvia en ESPAÑA cae principalmente en los llanos.";
$pattern = "/en/i";
echo preg_match_all($pattern, $str);// Salida 3
?>



Usando preg_replace()

La función preg_replace() reemplazará todas las coincidencias del patrón en una cadena con otra cadena

Ejemplo

Use una expresión regular que no distinga entre mayúsculas y minúsculas para reemplazar Microsoft con W3Schools en una cadena:

<?php
$str = "Visit Microsoft!";
$pattern = "/microsoft/i";
echo preg_replace($pattern, "W3Schools", $str); // Outputs "Visit W3Schools!"
?> 



Modificadores de expresiones regulares

Los modificadores pueden cambiar la forma en que se realiza una búsqueda.

Modificador Descricion
i Realiza una búsqueda que no distingue entre mayúsculas y minúsculas
m Realiza una búsqueda de varias líneas (los patrones que buscan el principio o el final de una cadena coincidirán con el principio o el final de cada línea)
u Permite la coincidencia correcta de patrones codificados en UTF-8



Patrones de expresiones regulares

Los corchetes se utilizan para encontrar un rango de caracteres:

Expresion Descripción
[abc] Encuentra un carácter de las opciones entre corchetes
[^abc] Encuentra cualquier carácter que NO esté entre corchetes
[0-9] Encuentre un carácter del rango de 0 a 9



Metacaracteres

Los metacaracteres son caracteres con un significado especial:

Metacaracter Descripción
| Encuentra una coincidencia para cualquiera de los patrones separados por | como en: gato|perro|pez
. Encuentra solo una instancia de cualquier personaje
^ Encuentra una coincidencia como el comienzo de una cadena como en: ^Hola
$ Encuentra una coincidencia al final de la cadena como en: World$
\d Encuentra un dígito
\s Encuentra un carácter de espacio en blanco
\b Encuentra una coincidencia al principio de una palabra como esta: \bPALABRA, o al final de una palabra como esta: PALABRA\b
\uxxxx Encuentre el carácter Unicode especificado por el número hexadecimal xxxx



cuantificadores

Los cuantificadores definen cantidades:

Cuantificador Descripcion
n+ Coincide con cualquier cadena que contenga al menos una n
n* Coincide con cualquier cadena que contenga cero o más ocurrencias de n
n? Coincide con cualquier cadena que contenga cero o una ocurrencia de n
n{x} Coincide con cualquier cadena que contenga una secuencia de X n
n{x,y} Coincide con cualquier cadena que contenga una secuencia de X a Y n
n{x,} Coincide con cualquier cadena que contenga una secuencia de al menos X n

Nota: Si su expresión necesita buscar uno de los caracteres especiales, puede usar un barra invertida ( \ ) para escapar de ellos. Por ejemplo, para buscar uno o más signos de interrogación puede usar lo siguiente expresión: $patrón = '/\?+/';




Agrupamiento

Puedes usar paréntesis ( )para aplicar cuantificadores a patrones completos.

También se pueden utilizar para seleccionar partes del patrón que se usarán como coincidencia.


ejemplo

Use la agrupación para buscar la palabra "banana" buscando ba seguido de dos instancias de na :

<?php
$str = "Apples and bananas.";
$pattern = "/ba(na){2}/i";
echo preg_match($pattern, $str); // Outputs 1
?> 
    




Publicar un comentario

0 Comentarios