Danny Velásquez
Jimmy Buriticá Londoño
Gracias por el resumen
Danilo Hernandez
Gracias por el resumen.
¿Qué son las expresiones regulares?
Las expresiones regulares pueden parecer complejas al principio debido a la cantidad de caracteres que se utilizan, pero son una herramienta poderosa para procesar y validar cadenas de texto. Son patrones que permiten buscar y manipular texto de manera eficiente en diversas aplicaciones, desde verificación de contraseñas hasta validación de correos electrónicos. En este artículo, entenderemos los conceptos básicos de las expresiones regulares, proporcionando una base sólida para explorar conceptos más avanzados en el futuro.
¿Cómo se estructuran las expresiones regulares?
La estructura de una expresión regular suele comenzar con caracteres contenedores y patrones específicos. Un patrón básico se muestra entre dos barras inclinadas (/ /). Dentro de estas barras, se definen los elementos y condiciones a evaluar con símbolos y caracteres especiales.
Patrones básicos
^) para indicar el inicio, y un símbolo de dólar ($) para señalar el final.[ ] se utilizan para agrupar caracteres de interés. Por ejemplo, [0-9] indica cualquier número del 0 al 9.{ } son útiles para especificar cuántas veces se debe repetir el patrón. Por ejemplo, [0-9]{6,9} significa que la cadena debe tener de 6 a 9 números.Ejemplo práctico en PHP
Implementaremos una expresión regular para validar contraseñas que solo contengan números y tengan una longitud específica.
<?php echo preg_match('/^[0-9]{6,9}$/', $password) ? 'true' : 'false'; ?>
Análisis del código
preg_match(): Es una función de PHP que compara una expresión regular con una cadena.'/^[0-9]{6,9}$/': La expresión regular busca cadenas que comiencen y terminen con números, con una longitud entre 6 y 9 caracteres.¿Cómo se aplican las expresiones regulares en problemas reales?
Las expresiones regulares son extremadamente versátiles y se utilizan en una variedad de contextos:
Esta corta introducción te garantiza una comprensión básica para comenzar a utilizar expresiones regulares en tus proyectos, y podrás explorar recursos más avanzados para profundizar en su versatilidad. Además, en plataformas como Platzi, existe un curso completo de expresiones regulares que puedes explorar si deseas convertirte en un experto en esta tecnología. ¡Sigue aprendiendo y perfeccionando tus habilidades!
Danny Velásquez
Jimmy Buriticá Londoño
Gracias por el resumen
Danilo Hernandez
Gracias por el resumen.
Carlos Eduardo Gomez García
Recuerdo que ami me costó mucho entender expresiones regulares, pero realmente no es nada del otro mundo, solo hay que practicarlas y repasarlas, igual existe muchas página online que te ayudan a evaluar las expresiones en tiempo real para cuando necesites programar alguna desde 0.
Como dato extra, los signos de "^ " y "$" no siempre van, creo que eso es algo equivocado en esta clase, esos ambos signos son opcionales, básicamente el signo "^" te dice que la cadena debe iniciar con tal patrón y después de ese patrón puede tener cualquier cosa extra, el signo "$" te dice que la cadena puede tener cualquier cosa extra, pero debe finalizar con el patrón escrito, cuando pones "^" y "$" estás diciendo que la cadena debe contener exactamente el patrón pasado, sirve cuando quieres evaluar cadenas exactas. Lo que si es cierto es que las expresiones regulares deben ir siempre entre diagonales "/"
Brayan Olarte
Es verdad amigo, justo estaba pensando lo mismo. Tal vez el profesor lo quizo decir para evaluar patrones que tengan concidencias exactas de inicio a fin.
Marianna Pessolano
Pienso que no es posible explicar todo el contenido de expresiones regulares en una sola clase y el profesor lo que trató fue de dar una introducción a este tema, con un ejemplo sencillo de entender.
Expresiones regulares
<?php $psswrd = '123456'; //echo preg_match('/^[0-9]{6,9}$/', $psswrd); var_dump((bool) preg_match('/^[0-9]{6,9}$/', $psswrd));
Francisco José Valle Cornejo
Hice este código que con ayuda de un bloque condicional dice si se acepta o no
`<?php $password='123456'; /** * Esta expresion regular * exige caracteres * desde el 0 al 9 * y que tenga una * longuitud de 6 * a 9 caracteres */ $expreg='/^[0-9]{6,9}$/'; if (preg_match($expreg,$password)) { echo 'La contraseña tiene un formato correcto'; } else{ echo 'La contraseña no tiene un formato correcto'; }`
Alexander Reyes
Muy buena validación
José Alberto Ortiz Vargas
Buen ejemplo, gracias.
Usuario anónimo
User🤔 Las expresiones regulares nos permiten describir patrones de texto.
Neyder Piedrahita Bellido
Esto me da claridad de lo que se puede hacer.
Edgar Ramón González Contreras
Al fin pude comprender para que son ese tipo de caracteres :)
Rodrigo Ortega
Edgar Ramón González Contreras
@mayungo Es lo que veo, lo agrego a mi ruta :)
Pablo Emilio Escobar Ossa
Las funciones CAST nos sirven para convertir de un tipo d edato a otro tipo. Ya ves que PHP al ser un poco más felxible que otros lenguajes para el, es lo mismo decir que una variable o resultado con el tipo de dato int con valor 1 es lo mismo que decir que es boolean o boolean. En el vídeo vemos como el profesor usa una conversión para pasar de int a bool el resultado que arroja la expresión regular.
Existen varias formas de conversión las cuales podrás encontrar en el enlace que dejo de la documentación oficial de PHP.
Martin Calvento
Como puedo escribir una expresion regular que me permita, por ejemplo, aceptar todos los caracteres menos un conjunto que yo le defina
Juan Camilo García Ardila
hola, te recomiendo el curso de expresiones regulares
david emmanuel garcia hernandez
tu expresión tenga los caracteres que no vas a aceptar y lo niegas !preg_match()
<code> if(!preg_match()){ // lo que si va }
Fernando Yutiz
Si desean practicar con expresiones regulares, esta página es la indicada: https://regex101.com/ En el curso de Expresiones Regulares aqui en Platzi la utilizamos.
Luis Rodriguez
como referencia siempre la pagina oficial de php
Jonathan Sanchez
El tema esta genial, esta es una listaa de las expresiones regulares que se pueden usar: https://www.mclibre.org/consultar/php/lecciones/php-expresiones-regulares.html con esto espero puedan complementar un poco este tema a parte del curso antes mencionado
Martin Campos
Las expresiones regulares son muy usadas para validaciones(además del tipico if, else, switch). Es muy importante saber sus fundamentos, igual en internet se pueden sacar expresiones mas comunes, pero sin duda pegar y copiar de internet sin saber como funciona es una mala constumbre de programadores.
Juan Luis Chavez Manjarres
Gran forma de explicar este tema que anteriormente lo había visto y me parecía difícil. Con esta explicación me quedo muy claro. Gracias.
Kenet Andrés Chungandro Montenegro
Juan Pablo Campuzano Monsalve
¿Existe alguna página que me permita conocer todas las expresiones regulares a profundidad?
Diedrich Pablo Enrique
al fin entendí los que significaba este vomito de caracteres '/^[0-9a-zA-Z]{6,9}$/'
Eduardo Reyes
Diego Teos
Sin lugar a duda las expresiones regulares nos ayudan a definir que si o que no debe agregarse a una cadena de texto
La explicación más sencilla que he visto, me ha quedado todo claro.
#EXPRESIONES REGULARES /* /: CONTENEDOR ^: INICIO $: FINAL -: RANGO []: PATRÓN {}: CONDICIÓN */ $password = '12345'; $password1 = '123456a'; $password2 = '123456'; //Iniciamos con un contenedo // luego iniciamos con ^ y que solo permita un patrón del 0 al 9 [0-9] //la condicion en llaves y que tenga como minimo 6 elementos y máximo 9 caracteres {6,9} echo preg_match('/^[0-9]{6,9}$/', $password); //Resultado 0 echo "<br>"; var_dump(preg_match('/^[0-9]{6,9}$/', $password1)); //Resultado int(0) echo "<br>"; var_dump((bool)preg_match('/^[0-9]{6,9}$/', $password2)); //Resultado bool(true)
🍃Las expresiones regulares (regex) en PHP son una herramienta muy útil para trabajar con cadenas de texto. Una expresión regular es un patrón que describe un conjunto de cadenas. En PHP, se pueden usar expresiones regulares para buscar, reemplazar, extraer y validar información en una cadena de texto.
Aquí hay algunos ejemplos de código que muestran cómo usar expresiones regulares en PHP:
preg_match: busca una ocurrencia de un patrón en una cadena y devuelve true si se encuentra o false si no se encuentra. Tiene dos argumentos: el patrón y la cadena en la que se busca.$email = 'juan@example.com'; $pattern = '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/'; if (preg_match($pattern, $email)) { echo 'La dirección de correo es válida.'; } else { echo 'La dirección de correo no es válida.'; }
preg_replace: reemplaza todas las ocurrencias de un patrón en una cadena con un valor especificado. Tiene tres argumentos: el patrón, el valor con el que se quiere reemplazar y la cadena en la que se busca.$text = 'Hola, mi nombre es Juan.'; $pattern = '/Juan/'; $replacement = 'Pedro'; $newText = preg_replace($pattern, $replacement, $text); echo $newText; // Imprime: Hola, mi nombre es Pedro.
preg_split: divide una cadena en un array de subcadenas en función de un patrón. Tiene dos argumentos: el patrón y la cadena que se quiere dividir.$text = 'Hola, mi nombre es Juan y tengo 30 años'; $pattern = '/, | y /'; $words = preg_split($pattern, $text); print_r($words); /* Imprime: Array ( [0] => Hola [1] => mi nombre es Juan [2] => tengo 30 años ) */
Estos son solo algunos ejemplos de cómo se pueden usar expresiones regulares en PHP. Hay muchas más funciones y opciones disponibles, y es importante entender cómo funcionan las expresiones regulares para sacarles el máximo partido.
📚 Les dejo el enlace al Curso de Expresiones Regulares