Post Top Ad

Your Ad Spot

viernes, 15 de mayo de 2020

Construya su propio PCRE Regex Tester con PHP


Construye tu propio PCRE Regex Tester con PHP
Como se prometió, en este episodio construiremos nuestro propio probador de expresiones regulares para que podamos probar varios patrones de expresiones regulares. Esta es una excelente manera de aprender expresiones regulares . Como cubrimos en la publicación anterior sobre expresiones regulares, también hay muchas herramientas excelentes para hacer esto en línea. Entonces, ¿cuál es la razón para construir la nuestra? Es realmente simple, es divertido y un gran ejercicio de aprendizaje también. Lo que vamos a hacer es crear una aplicación simple de una página que acepte una cadena de datos o tema, así como un patrón. Luego tendremos un botón de envío que ejecutará el patrón contra el sujeto usando la función preg_match_all integrada en PHP. Vamos a ver.

Crea el formulario

En primer lugar, necesitamos el formulario para aceptar los datos que queremos probar.
Entonces, en este fragmento, hay algunas cosas a tener en cuenta. Simplemente publicaremos el formulario en el preg_match_all.phpque se encuentra el nombre del archivo en esta aplicación. Incluimos un poco de código para verificar la presencia de datos que pueden haber sido enviados a través del formulario. Si es así, repoblamos el formulario con esos valores. De esta manera, no tenemos que pegar continuamente los datos que estamos probando para el tema. Esto también ayuda para el patrón, ya que podemos hacer ediciones incrementales al patrón fácilmente y continuar probando contra el tema en cuestión. Finalmente, incluimos un botón de envío simple, que hemos abordado con el texto "Preg Match All". Se parece a esto.
formulario sujeto regex
Frio. Podemos ver que hay un área de texto para ingresar algunos datos con los que queremos verificar, una entrada de texto para el patrón de expresión regular y un simple botón de envío.

La secuencia de comandos de procesamiento de formularios

Aquí está el fragmento de PHP que manejará el procesamiento del formulario cuando se envíe. En realidad, esto va * por encima * del html del formulario para que podamos capturar los datos del formulario para la repoblación si es necesario.
Excelente. Primero, utilizamos el operador ternario para verificar los datos enviados a través del formulario. Si no se han enviado datos, simplemente ingresamos una cadena vacía en las variables $ subject y $ pattern.
A continuación, usamos una ifdeclaración simple para verificar la longitud del $patternuso de la función strlen . Si $patterntiene una longitud mayor que cero, procedemos a ejecutar la función preg_match_all utilizando los datos que se enviaron desde el formulario. preg_match_alles una función fantástica que puede usar para verificar todas las coincidencias dentro de un tema. El primer parámetro para esta función es el patrón real a utilizar para la expresión regular. Tenga en cuenta que en el código anterior, agregamos los delimitadores con anticipación, de esa manera cuando ingresamos el patrón en el formulario no necesitamos incluirlos. Esto es solo un simple mecanismo de conveniencia. El segundo parámetro es el sujeto contra el cual probaremos la expresión regular. Estos son los datos que provienen del área de texto en nuestro formulario. El tercer parámetro se llama variable para mantener las coincidencias que resultan de la expresión regular que se está ejecutando. Con preg_match_all , las coincidencias en realidad se almacenan en una matriz multidimensional. Es por eso que cuando hacemos un bucle sobre esta matriz, hacemos un bucle $matches[0]y no$matchesFinalmente, simplemente hacemos eco de cada coincidencia seguido de un salto de línea. El guión completo se ve así.
Esto es súper simple y básico, pero debería ser una buena herramienta de prueba rápida y sucia para algunas de nuestras expresiones regulares. Examinemos las retrospectivas positivas y negativas. Recuerde de nuestra publicación anterior que esto es cuando la expresión regular mira detrás o antes del patrón en cuestión. Esto es bueno para hacer coincidir algo que solo está precedido por un carácter particular o cadena de caracteres. Aquí hay una captura de pantalla o nuestra herramienta para completar una mirada positiva exitosa detrás del partido.
expresión regular mirada positiva detrás
Esto es justo después de hacer clic en el botón Enviar. Podemos ver que la coincidencia de 'nosotros' se muestra en la parte superior, y nuestro formulario se completa con los datos que habíamos utilizado. De esta manera, podemos editar fácilmente los datos en el formulario e intentar otra prueba. Esto usado ¿Sabes a qué equivale 1 + 1? {pronto lo descubriremos} [jaja]. para el sujeto y nuestro patrón regex fue (?<={)[a-z]{2}Este patrón dice, haga coincidir dos caracteres dentro del rango de minúsculas a a z, * solo * si está precedido por una llave izquierda. ¡Agradable!
Probemos ahora la mirada negativa detrás. Podemos modificar el patrón al (?<![)[a-z]{4}que dice que coincida con cuatro caracteres secuenciales siempre que no haya un corchete izquierdo delante de ellos. Podemos ver aquí que esto funciona, ya que la cadena 'jaja' no coincidía, pero sí otros cuatro caracteres consecutivos.
expresión regular mirada negativa detrás

Conclusión

Si alguna vez se encuentra sin conexión a Internet y no puede acceder a ninguno de los excelentes recursos que cubrimos en el último episodio para probar sus expresiones regulares, ahora tiene una forma realmente simple de probarlas localmente si es necesario. Es rápido, sucio y útil, perfecto si me preguntas 🙂

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas