La función preg_match() es una función incorporada de PHP que realiza una coincidencia de expresiones regulares. Esta función busca un patrón en la cadena y devuelve verdadero si el patrón existe; de lo contrario, devuelve falso.
Generalmente, la búsqueda comienza desde el principio del parámetro de cadena $subject. El parámetro opcional $offset se utiliza para iniciar la búsqueda desde la posición especificada.
Sintaxis
int preg_match (string $pattern, string $subject, array $matches, int $flags, int $offset)
Nota: $offset es un parámetro opcional que especifica la posición desde donde comenzar la búsqueda.
Parámetros
Esta función acepta cinco parámetros, que se describen a continuación:
patrón
Es un parámetro de tipo cadena. Este parámetro contiene el patrón a buscar como una cadena.
sujeto
Este parámetro contiene la cadena de entrada en la que buscamos el patrón.
partidos
Si se proporciona el parámetro coincidencias, contendrá los resultados de la búsqueda.
coincidencias[0] - Contendrá el texto que coincida con el patrón completo.
coincidencias[1] - Contendrá el texto que coincida con el primer subpatrón entre paréntesis capturado, y así sucesivamente.
banderas
np.linspace
Las banderas pueden tener las siguientes banderas que se indican a continuación:
compensar
De forma predeterminada, la búsqueda comienza desde el principio del parámetro $subject. El parámetro de desplazamiento se utiliza para especificar el lugar donde comenzará la búsqueda. Es un parámetro opcional.
obtener la fecha actual en java
Tipo de devolución
La función preg_match() devuelve verdadero si el patrón coincide; de lo contrario, devuelve falso.
Nota: Si solo desea comprobar si una cadena está contenida en otra cadena, no utilice la función preg_match(). Utilice la función strpos() ya que será más rápida.
Ejemplos
<?php //initialize a variable of string type $site = 'javatpoint'; preg_match('/(java)(t)(point)/', $site, $matches, PREG_OFFSET_CAPTURE); //display the matches result print_r($matches); ?>
Producción:
Array ( [0] => Array ( [0] => javatpoint [1] => 0 ) [1] => Array ( [0] => java [1] => 0 ) [2] => Array ( [0] => t [1] => 4 ) [3] => Array ( [0] => point [1] => 5 ) )
Podemos ver el resultado anterior como se indica a continuación para comprenderlo mejor.
Array ( [0] => Array ( [0] => javatpoint [1] => 0 ) [1] => Array ( [0] => java [1] => 0 ) [2] => Array ( [0] => t [1] => 4 ) [3] => Array ( [0] => point [1] => 5 ) )
Ejemplos: búsqueda que no distingue entre mayúsculas y minúsculas
<?php //initialize a variable of string type $website = 'JTP is a best online platform to learn.'; //case insensitive search for word jtp //The 'i' after pattern delimiter indicates case-insensitive search $res = preg_match('/jtp/i', $website, $matches); if ($res) { echo 'Pattern matched in string.</br>'; print_r($matches); } else { echo 'Pattern not matched in string.'; } ?>
Producción:
Pattern matched in string. Array ( [0] => JTP )
Ejemplos: mediante el uso de límites de palabras ()
<?php /* The indicates the word boundary in the pattern. So, it matches only the distinct word like 'web', and words like 'coreweb' or ' webinar' do not match partially.*/ if (preg_match('/web/i', 'PHP is a web scripting language.')) { echo 'A match was found. </br>'; } else { echo 'A match was not found. <br>'; } if (preg_match('/web/i', 'PHP is a website scripting language.')) { echo 'A match was found.'; } else { echo 'A match was not found.'; } ?>
Producción:
A match was found. A match was not found.
Ejemplos: obtener el nombre de dominio de la URL
Producción:
Domain name is: javatpoint.com
Sintaxis de expresiones regulares (expresión regular)
[a B C] | Coincide con un solo carácter: a, b o c |
[^abc] | Coincide con cualquier carácter excepto a, b o c |
[Arizona] | Coincide con cualquier carácter dentro del rango a-z |
[a-zA-Z] | Cualquier carácter dentro del rango a-z o A-Z |
^ | inicio de linea |
$ | Fin de la línea |
A | Inicio de cadena |
Con | Fin de la cuerda |
. | Cualquier carácter |
s | Cualquier carácter de espacio en blanco |
S | Cualquier carácter que no sea un espacio en blanco |
d | cualquier dígito |
D | Cualquiera que no sea un dígito |
En | Cualquier carácter de palabra (letra, número, guión bajo) |
EN | Cualquier carácter que no sea una palabra |
Comprobador de límites de palabras | |
/?/ | Inicia y finaliza la expresión regular. |
(?) | Capture todo lo que está entre paréntesis () |
(a|b) | a o B |
¿a? | Cero o uno de un |
a* | Cero o más de un |
un+ | Uno o más de un |
un{3} | exactamente 3 de un |
un {3,} | 3 o más de un |
un{3,6} | Entre 3 y 6 de un |
i | Comprobación que no distingue entre mayúsculas y minúsculas |
metro | Hacer coincidir puntos con nuevas líneas |
X | Ignorar espacios en blanco en expresiones regulares |