edición general
47 meneos
628 clics
Este envío tiene varios votos negativos. Asegúrate antes de menear

I Hate Regex: ideas, «chuletas» y explicaciones para crear expresiones regulares «comprendiéndolas»

I Hate Regex es una web con fórmulas para las expresiones regulares más habituales, donde además se pueden encontrar algunas ideas y consejos e incluso «chuletas» con la listas de operadores y símbolos de estas curiosas bestias de la búsqueda de patrones. Su creador cree que es mejor comprender cómo funcionan que aprendérselas de memoria, y razón no le falta. [vía microsiervos]

| etiquetas: expresiones regulares , chuletas
  1. #0 no he entendío ná xD
  2. A mí me encantan.
  3. #2 Están bien si te gusta hacerte pajas mentales.

    El problema de las expresiones regulares, aun controlando más o menos, es que sólo las entiendes cuando las haces, pero cuando las encuentras en código meses después tienes que pasar un rato analizandolas para ver qué coño hacen.
  4. #1 pues ya has entendido más que yo que en un primer momento creí que era un formulario para registrarme. ¡Y una mierda!...
  5. #3 Sí. Son un jeroglífico. Pero tremendamente útiles para algunos casos.
  6. Ya saben el dicho: si vas a resolver un problema con expresiones regulares ya tienes dos problemas.
  7. #7 Está en la propia web que he mandado.
  8. #5
    ~>cat bin/urls
    #!/bin/sh
    sed -ne 's/.*(http[^"]*).*/1/p' "$1"
  9. Yo por eso no elegí matemáticas, no quería estar rodeado de problemas.
  10. #11 emailregex.com/

    En la de Perl vas a flipar.
  11. #5 habían otras formas de resolver la situación con la librería estándar del lenguaje, mucho más rápido al ejecutarse e infinitamente más sencillo para los programadores que vengan detrás.
    Si, para esos casos no son las expresiones regulares. Pero para otros casos son muy útiles, más sencillas y más fáciles de entender.

    No hay ningún otro sitio donde se necesiten y si lo hay no quiero saberlo
    La ignorancia es libre....
  12. #5 yo solo las he usado para validar direcciones de correo en formularios web. Y como tú, las busco en internet.
  13. #5 ¿Te parece poco sed, grep o validación de formularios? :shit:
  14. #5 Qué conste que un compilador sin expresiones regulares lo vas a tener complicado para hacer...
  15. #12 Creo que es lo más difícil en Regex: filtrar un correo electrónico correctamente. Entendiendo "correctamente" al hecho de no permitir nunca un correo electrónico real, que es lo más difícil.
  16. #5 Claro, la magia y profesionalidad del split la conocemos todos. :wall: :wall: :wall: :wall:
  17. #6 Las odio, pero en Apache no podríamos vivir sin ellas.
  18. #3 Bueno, para evitar el problema de ¿y esto que carajo hacía? están las funciones.

    Por ejemplo, según esta web la expresión para ver si algo es un teléfono es:
    ^[+]?[(]?[0-9]{3}[)]?[s.]?[09]{3}[s.]?[09]{4,6}$

    Pues te creas una función que sea is_phone y usas la expresión dentro y ya está, el problema de legibilidad solucionado.
  19. #5 Yo las he usado para obtener una información específica de unos logs generados diariamente. Dudo que eso se pudiese hacer hecho de una forma más sencilla usando la librería estándar del lenguaje.
  20. #20 Yo las uso muy seguido. Por ejemplo, con una sola instrucción puedo decir "encuéntrame números de teléfono dentro de este texto", y listo.
  21. #16 Los compiladores no analizan el texto con expresiones regulares, tokenizan la fuente caracter por caracter y luego procesan los tokens segun las reglas de la sintaxis que imponga la gramatica ( por ejemplo usando un RDP en.wikipedia.org/wiki/Recursive_descent_parser ). Una expresion regular simplemente representa un automata y produce una salida, es de hecho, un compilador simple; pero de ningun modo se usan para compilar por compiladores de proposito general.
  22. #3 Las expresiones regulares puedes comentarlas y hacerlas por bloques de tal manera que puedas indicar que hace cada parte, si no las entiendes es porque quien la escribió no se molesto en documentarlo.
  23. Son diez o doce reglas que permiten hacer de todo. Además con una sintaxis compacta y clara.
    Sencillo y eficiente. Uno de los mejores inventos jamás hechos.
  24. #26 eso se puede aplicar a todo. Hay código que se entiende sin más y código que requiere comentarios exhaustivos.

    Tú sabrás que prefieres tener.
  25. #28 tu mismo lo estas diciendo, las expresiones regulares complejas es código que requiere comentarios adicionales/exhaustivos.
  26. A complementar con esta otra web para hacer tus pinitos en regexps o como arma secreta en esas duras epopeyas en busca de la regexp exacta :-D

    regex101.com/
  27. #22 Eso es obvio pero y si tienes que modificar la expresión?
  28. #5 #13 #16 #7 #27 #2 #22 Tal vez os interese esto que acabo de descubrir (siento el retraso :shit: ):
    simple-regex.com
  29. #33 es más fácil leerse el manual.
    Aprender no da cáncer.
  30. #34 Si yo también sé, mi único problema con las expresiones regulares es su mantenimiento, es un poco farragoso enter el funcionamiento de algo que hiciste hace tiempo. Con algo así sería más fácil el mantenimiento, aunque supongo que al final me quedaría con las expresiones regulares de todas formas...
comentarios cerrados

menéame