Jue
7
Feb

10 razones para aprender y usar Expresiones regulares


Algo más para agregar a la lista interminable de “Cosas que tengo que aprender”:

10. Las expresiones regulares están en todos lados
Una lista de lenguajes de programación y herramientas que usan expresiones regulares. Links a su documentación sobre expresiones regulares.

9. La Maestría en expresiones regulares puede ayudarte a destacarte de la multitud
Las expresiones regulares pueden estar en cualquier lado, pero muchos programadores con experiencia se sienten intimidados por ellas. Saber usar expresiones regulares efectivamente es una habilidad valiosa que puede hacer rápidamente que tus colegas te noten.

8. Empuñar expresiones regulares puede hacerte sentir como un mago poderoso
Las expresiones regulares pueden ser difíciles de dominar, pero hacerlo es tanto más recompensante como resultado. Escribir una línea de letras crípticas y símbolos que hace lo que a otros le tomaría cientos de líneas de código se puede sentir muy bien.

7. Si tu búsqueda es simple, la sintaxis de la expresión regular es simple
¿Quieres coincidir la palabra “gato”? La expresión regular es simplemente gato. ^gato hace coincidir “gato” al principio de la cadena, gato$ al final, y gato|perro hace coincidir “gato” o “perro”. La mayor parte de la sintaxis de las expresiones regulares es muy simple una vez que se le agarra la mano.

6. Las expresiones regulares son portables

Eso es una audaz mentira, aunque es verdadero usualmente para la gente que se apega a lo básico o intencionalmente escriben sus expresiones regulares de forma portable. La mayor parte de la sintaxis de las expresiones regulares trabaja igual en una amplia variedad de lenguajes de programación y herramientas.

5. Las expresiones regulares te pueden ayudar a escribir código corto
Ésto puede ser de ayuda especialmente en JavaScript, donde mantener poco código es importante para gente con conexiones lentas a Internet. Y aunque las expresiones regulares pueden ser difíciles de leer, prefiero pasar un minuto revisando la lógica de una expresión regular que hacer lo mismo con una página llena de código. Por supuesto, como con la mayoría de las cosas en la vida, es importante encontrar un buen equilibrio.

4. Las expresiones regulares ahorran tiempo
Incluso para los novatos que todavía luchan con la sintaxis, las expresiones regulares son generalmente la forma más rápida de hacer el trabajo.

3. Las expresiones regulares son rápidas
Aunque los motores típicos de bactracking de expresiones regulares tienen los llamados casos patológicos en los que puede llevar mucho tiempo, las expresiones regulares escritas con la performance en mente serán lo suficientemente rápidas para todas tus necesidades en casi todos los casos. Para asegurarse que eso sea verdad, es una buena idea por lo menos tener una noción de las bases de optimización de la performance en expresiones regulares.

2. Las expresiones regulares pueden coincidir prácticamente todo
En otras palabras, las expresiones regulares son poderosas. Un guru de las expresiones regulares puede encontrar muchos usos apropiados para las expresiones regulares donde los usuarios no-entrenados pueden no pensar en mirar. Como escribieron los autores de Programming Perl, “si tomas el ‘texto’ en el sentido más amplio posible, tal vez el 90% de lo que hagas es 90% procesamiento de texto”.

1. Las expresiones regulares son divertidas

Como cualquier buen desafío, las expresiones regulares pueden ser muy divertidas. Herramientas como RegexPal pueden ayudarte a remover mucho trabajo del que adivinas, para que puedas concentrarte en resolver problemas.

Ya he leído varias veces sobre las virtudes de las expresiones regulares, es más, llegué a usarlas en JavaScript hace mucho tiempo sin darme cuenta que las estaba usando. También he leído que dominarlas es algo bastante complicado, pero una vez que se logra, el cielo es el límite. Éste último punto, el 1, supongo es el más importante para motivarse a aprenderlas, o sino, elaborar escenarios de fantasía donde salvan el día aplicando su nuevo aprendizaje:

Expresiones regulares xkcd

Artículo traducido de: 10 reasons to learn and use regular expressions

Algunos comentarios del post original:

  • Las expresiones regulares te dan super poderes para luchar contra el crimen.
  • Las expresiones regulares son también populares con las damas y pueden causar pérdida de peso. Desde que aprendí expresiones regulares he perdido 3 libras y he entrado en una relación. Gracias expresiones regulares!
  • Las expresiones regulares son una de esas cosas que separan a los hombres de los niños.

Si te gustó éste post, podés apoyar a PicandoCódigo a través de PayPal!



9 Comentarios para “10 razones para aprender y usar Expresiones regulares”

  1. TheKeeperOfThe7Keys


    _ Firefox 2.0.0.11 Firefox 2.0.0.11 @ Ubuntu Ubuntu
    Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.8.1.11) Gecko/20071204 Ubuntu/7.10 (gutsy) Firefox/2.0.0.11

    Definitivamente son importantes, es lo que todos dicen… en lo personal todavía están en mi “ToDo” a pesar de que en JS las he utilizado para filtrar datos sencillos como direcciones de email, o URIs … pero de ahí a dominarlas falta mucho por recorrer!

  2. Enrique Almeida


    _ Firefox 2.0.0.11 Firefox 2.0.0.11 @ Windows Vista Windows Vista
    Mozilla/5.0 (Windows; U; Windows NT 6.0; es-ES; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11

    Estoy de acuerdo que las RegExp son importantes y necesarias, pero NO estoy de acuerdo que sean divertidas….

    Cuando las mismas se complican (cuando tiene mas de 3 renglones) dejan de ser divertidas y hacer el debug de las mismas suele ser complicadito ….

  3. TheKeeperOfThe7Keys


    _ Firefox 2.0.0.11 Firefox 2.0.0.11 @ Windows XP Windows XP
    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11

    Pero no es resolver problemas complejos lo bueno de esta profesión??? Capas que te lleva 1 hora hacer el debug de una RegEx pero cuando queda funcionando ¿no sentís una gran sensación de satisfacción?? Esa sensación “de esto estuvo salado, pero quedó funcionando!!”

    O soy el único enfermo que disfruta más de programar cuando hay problemas complejos que tirando código sin pensar??

  4. fernando


    _ Firefox 2.0.0.12 Firefox 2.0.0.12 @ Windows XP Windows XP
    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12

    No, yo también prefiero así…
    Casi me da algo cuando hice mi primer función SQL de más de 100 líneas.
    Debe ser la misma sensación que sienten los futbolistas cuando “hacen gol”, y eso que cuesta mucho menos hacer llegar una pelota dentro del área delimitada por la línea y la red, que sacar una función zarpada en SQL…
    Yo delegaría todo lo que es ABM y demás, a cambio de cosas complicadas, que sean un desafío!

  5. TheKeeperOfThe7Keys


    _ Firefox 2.0.0.12 Firefox 2.0.0.12 @ Ubuntu Ubuntu
    Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.8.1.12) Gecko/20080207 Ubuntu/7.10 (gutsy) Firefox/2.0.0.12

    Todo vuelve al tema de los programadores 80% vs. 20%

  6. karla


    _ Firefox 3.0.3 Firefox 3.0.3 @ Windows XP Windows XP
    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3

    me gusto tu caricatura!

  7. fernando


    _ Debian IceWeasel 3.0.1 Debian IceWeasel 3.0.1 @ Debian GNU/Linux Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)

    karla:
    La caricatura es de xkcd.

    Saludos

Trackbacks

  1. 10 razones para aprender y usar Expresiones Regulares | crAzyChiLe.Net.wOrk
  2. Payando expresiones regulares | Picando Código

Dejar un comentario

Si quieres mostrar código, enciérralo entre los tags pre de esta forma:
<pre lang="L"> y </pre>, donde L es un lenguaje compatible GeSHI. Más info.

XHTML: Las siguientes tags están permitidas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="">


Al agregar un comentario en esta página, usted acepta la siguiente licencia para su publicación:
Creative Commons License Creative Commons Attribution-Share Alike 3.0 Unported License.