Advertisement
Guest User

Regex tutorial

a guest
Jan 13th, 2013
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.60 KB | None | 0 0
  1. INDICE
  2. ======
  3.  
  4. 1. ¿Que son las expresiones regulares y para que sirven?
  5. 2. ¿Como se construyen?
  6. 3. Modificadores
  7. 4. Carácteres especiales en las expresiones regulares, cuantificadores y anchors
  8. 41. Como funcionan los cuantificadores y tipos
  9. 5. Grupos
  10.  
  11. 1- ¿QUÉ SON LAS EXPRESIONES REGULARES Y PARA QUE SIRVEN?
  12. ========================================================
  13.  
  14. Pongámonos en la piel de un trabajador, el cual su jefe le ha pedido que reemplace el nombre de una variableXXX (pero hay 3 letras al final de la variable que pueden cambiar!) en todos los .java (o .py, archivos de texto) del proyecto Pepito. La manera habitual de hacerlo sería ir archivo por archivo buscando esa variable y cambiando el nombre pero..., ¿qué pasa si podemos hacer ese trabajo automáticamente y con unas pocas líneas de código? Woho!, esa es otra manera de hacer las cosas y como a los programadores nos gusta, automatizar cosas con código!.
  15.  
  16. La segunda manera de hacerla es esa, escribir un programita que recorra todos los archivos de texto de una (o varias) carpetas y que haga el trabajo por ti. Pronto veremos como esto es posible usando expresiones regulares.
  17.  
  18. A lo que vamos, las __expresiones regulares se podría describir como la herramienta flexible, potente y eficiente para procesar, cambiar, sustituir, y casi cualquier cosa con texto__. Son como un mini lenguaje de programación que se centra en crear/programar patrones que detectan concordancias con un texto.
  19.  
  20. ¿De que se componen?
  21. --------------------
  22.  
  23. Existen dos tipos de caracteres en las expresiones regulares, los caracteres que tienen un significado especial y los que no. Tan simple y llano como eso, los caracteres que tienen un significado especial, se llaman *metacaracteres* y lo que implica es que el motor que procese la expresión regular (a partir de ahora las llamaré simplemente regex) no los tomará como ese carácter, literalmente si no que significa otra cosa, veamos este ejemplo que todo el mundo conoce:
  24.  
  25. Cuando en el buscador de windows/cualquierotro quieres buscar un archivo que termina con la extensión ".jpg" cómo lo buscas? Simplemente poniendo "*.jpg" pero... cómo es que el buscador no busca ese nombre exactamente?, exacto! el carácter * tiene un significado especial en este contexto y significa que puede haber cualquier carácter (y cualquier cantidad) antes de la extensión .jpg.
  26.  
  27. Los caracteres que no tienen ningún significado especial, el motor simplemente tratará de encontrar ese carácter.
  28.  
  29. Resumen
  30. -------
  31.  
  32. En este capítulo hemos aprendido qué son las expresiones regulares, para qué sirven y de que se compone una expresión regular. Capítulo corto e introductorio al complejo y rebuscado mundo de las regex.
  33.  
  34.  
  35. 2- ¿CÓMO LAS CONSTRUYO?
  36. =======================
  37.  
  38. Huh! Capítulo cortito donde los haya, explicaré cuales son las partes de una expresión regular, hay diferencias en cada lenguaje de programación (2 principalmente), así que intentaré poner ejemplos generales y al final del capítulo algún ejemplo en algunos lenguajes de programación principales.
  39.  
  40. Partes de una regex
  41. -------------------
  42.  
  43. Una expresión regular principalmente tiene dos partes:
  44. 1. La parte que contiene la expresión regular en si.
  45. 2. Los modificadores de esa expresión (como case insensitive, global, etc...)
  46.  
  47. Esas dos partes se separan con / , así que en general la expresión regular quedaría:
  48. /expresión/modificadores
  49. En la parte 3 de este tutorial hablaré sobre cuantos modificadores existen y para qué sirve cada uno.
  50.  
  51. En algunos lenguajes de programación, se construyen de otra manera algo distinta, algo del tipo:
  52. expresion("expresionregular", Modificador1 | Modificador2)
  53.  
  54. Estos son los dos tipos más comunes de construir una expresión regular.
  55.  
  56. EJEMPLOS REALES DE EXPRESIONES REGULARES
  57. ========================================
  58.  
  59. En esta sección pondré ejemplos reales para usar las expresiones regulares, así podréis ver como se trabaja con ellas, lo fácil que es usarlas (y a veces lo complicado que es construirlas xD).
  60.  
  61. No os preocupéis si todavía no entendéis lo que significa la expresión regular, usaré siempre la expresión regular "mongol[oa]" que significa, encuentra la palabra mongol y después de esa palabra, ha de haber una o, o una a. Por lo tanto encontraría coincidencia en "mongolo" y "mongola".
  62.  
  63. JAVA
  64. ----
  65. Pattern pattern = Pattern.compile("mongol[oa]", Pattern.CASE_INSENSITIVE);
  66. Matcher matcher = pattern.matcher(args);
  67. if (matcher.matches()) {
  68. System.out.println("Ue!! Funciona!");
  69. }
  70.  
  71. PHP
  72. ---
  73. <?php
  74. preg_match('/^def/', "abcdef", $matches);
  75. print_r($matches);
  76. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement