Tutorial PHP

PHP INICIO Introducción PHP Instalación de PHP Sintaxis PHP Comentarios PHP Variables PHP PHP Echo / Imprimir Tipos de datos PHP Cadenas PHP Números PHP Matemáticas PHP Constantes PHP Operadores PHP PHP Si... Más... Elseif Cambio de PHP Bucles de PHP Funciones PHP Matrices de PHP Superglobales de PHP PHP expresión regular

Formularios PHP

Manejo de formularios PHP Validación de formulario PHP Formulario PHP requerido Formulario PHP URL/Correo electrónico Formulario PHP completo

PHP Avanzado

Fecha y hora PHP PHP Incluir Manejo de archivos PHP Archivo PHP Abrir/Leer Archivo PHP Crear/Escribir Carga de archivos PHP Cookies PHP Sesiones PHP Filtros PHP Filtros PHP avanzados Funciones de devolución de llamada de PHP PHPJSON Excepciones de PHP

POO de PHP

PHP ¿Qué es la programación orientada a objetos? Clases PHP/Objetos Constructor PHP Destructor PHP Modificadores de acceso de PHP Herencia de PHP Constantes PHP Clases abstractas de PHP Interfaces PHP Características de PHP Métodos estáticos de PHP Propiedades estáticas de PHP Espacios de nombres de PHP Iterables de PHP

Base de datos MySQL

Base de datos MySQL Conexión MySQL MySQL Crear base de datos Crear tabla MySQL MySQL Insertar datos MySQL Obtener la última identificación MySQL Insertar Múltiples MySQL preparado Datos seleccionados de MySQL mysql donde MySQL Ordenar por MySQL Eliminar Datos Datos de actualización de MySQL Límite de datos de MySQL

PHPXML _

Analizadores PHP XML Analizador PHP SimpleXML PHP SimpleXML - Obtener PHP XML Expatriados PHP XML DOM

PHP -AJAX

Introducción a AJAX AJAXPHP Base de datos AJAX XML AJAX Búsqueda en vivo de AJAX Encuesta AJAX

Ejemplos de PHP

Ejemplos de PHP Compilador PHP Cuestionario de PHP Ejercicios PHP Certificado PHP

Referencia PHP

Descripción general de PHP Matriz de PHP Calendario PHP Fecha PHP Directorio PHP Error PHP Excepción PHP Sistema de archivos PHP Filtro PHP PHPFTP PHPJSON Palabras clave PHP PHP Libxml Correo PHP Matemáticas PHP PHP misceláneo PHP MySQLi Red PHP Control de salida de PHP PHP expresión regular PHP SimpleXML flujo PHP Cadena PHP Manejo de variables de PHP Analizador PHP XML código postal de PHP Zonas horarias de PHP

Expresiones regulares de PHP


¿Qué es una expresión regular?

Una expresión regular es una secuencia de caracteres que forma un patrón de búsqueda. Cuando busca datos en un texto, puede usar este patrón de búsqueda para describir lo que está buscando.

Una expresión regular puede ser un solo carácter o un patrón más complicado.

Las expresiones regulares se pueden utilizar para realizar todo tipo de operaciones de búsqueda y reemplazo de texto.


Sintaxis

En PHP, las expresiones regulares son cadenas compuestas por delimitadores, un patrón y modificadores opcionales.

$exp = "/w3schools/i";

En el ejemplo anterior, /es el delimitador , w3schools es el patrón que se busca y ies 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. El delimitador más común es la barra inclinada (/), pero cuando su patrón contiene barras inclinadas, es conveniente elegir otros delimitadores como # o ~.


Funciones de expresiones regulares

PHP proporciona una variedad de funciones que le permiten usar expresiones regulares. Las funciones preg_match(), preg_match_all()y preg_replace()son algunas de las más utilizadas:

Function Description
preg_match() Returns 1 if the pattern was found in the string and 0 if not
preg_match_all() Returns the number of times the pattern was found in the string, which may also be 0
preg_replace() Returns a new string where matched patterns have been replaced with another string

Usando preg_match()

La preg_match()función 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 "w3schools" en una cadena:

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

Usando preg_match_all()

La preg_match_all()función le dirá cuántas coincidencias se encontraron para un patrón en una cadena.

Ejemplo

Use una expresión regular para hacer un conteo que no distinga entre mayúsculas y minúsculas del número de ocurrencias de "ain" en una cadena:

<?php
$str = "The rain in SPAIN falls mainly on the plains.";
$pattern = "/ain/i";
echo preg_match_all($pattern, $str); // Outputs 4
?>

Usando preg_replace()

La preg_replace()función 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.

Modifier Description
i Performs a case-insensitive search
m Performs a multiline search (patterns that search for the beginning or end of a string will match the beginning or end of each line)
u Enables correct matching of UTF-8 encoded patterns

Patrones de expresiones regulares

Los corchetes se utilizan para encontrar un rango de caracteres:

Expression Description
[abc] Find one character from the options between the brackets
[^abc] Find any character NOT between the brackets
[0-9] Find one character from the range 0 to 9

Metacaracteres

Los metacaracteres son caracteres con un significado especial:

Metacharacter Description
| Find a match for any one of the patterns separated by | as in: cat|dog|fish
. Find just one instance of any character
^ Finds a match as the beginning of a string as in: ^Hello
$ Finds a match at the end of the string as in: World$
\d Find a digit
\s Find a whitespace character
\b Find a match at the beginning of a word like this: \bWORD, or at the end of a word like this: WORD\b
\uxxxx Find the Unicode character specified by the hexadecimal number xxxx

cuantificadores

Los cuantificadores definen cantidades:

Quantifier Description
n+ Matches any string that contains at least one n
n* Matches any string that contains zero or more occurrences of n
n? Matches any string that contains zero or one occurrences of n
n{x} Matches any string that contains a sequence of X n's
n{x,y} Matches any string that contains a sequence of X to Y n's
n{x,} Matches any string that contains a sequence of at least X n's

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


Agrupamiento

Puede usar paréntesis ( )para aplicar cuantificadores a patrones completos. También se pueden usar 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
?>

Referencia RegExp completa

Para obtener una referencia completa, vaya a nuestra Referencia completa de expresiones regulares de PHP .

La referencia contiene descripciones y ejemplos de todas las funciones de expresiones regulares.