Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

materias:laboratorio_de_lenguajes_ii:lableng2:regexp [2011/01/24 15:30] (actual)
Línea 1: Línea 1:
 +====== Ejemplos de uso de Expresiones Regulares ======
  
 +===== Reglas =====
 +^ Simbolo ^ Definición ^
 +|  .  | Cualquier caracter |
 +|  +  | 1 ó más ocurrencias de la RE anterior |
 +|  *  | 0 ó más ocurrencias de la RE anterior |
 +|  ?  | 0 ó 1 vez la ocurrencia de la RE anterior |
 +|  [ ]  | Conjunto de caracteres posibles |
 +|  ( )  | Definición de grupos |
 +|  [<latex>{\smallsize\wedge}</latex> ]  | Conjunto de caracteren NO posibles |
 +|  <latex>{\smallsize\wedge}</latex>  | Principio de la cadena |
 +|  $  | Final de la cadena |
 +
 +Más información en 
 +  * http://www.regular-expressions.info/
 +  * http://www.regextester.com/
 +  * [[wp>regex]]
 +
 +==== Ejemplo de Expresiones Regulares en PERL ====
 +<code perl>
 +#!/usr/bin/perl
 +
 +print "Prubas de expreiones regulares\n";
 +$cad = "<h1>hola</h1><br><i>mundo</i>\n";
 +print $cad;
 +$cad =~ s/<br>/\n/ig;
 +$cad =~ s/<([^<]*)>//ig;
 +print $1."\n";
 +print $cad;
 +</code>
 +
 +==== Ejemplo de Expresiones Regulares en Python ====
 +<code python>
 +#!/usr/bin/python
 +
 +import re
 +import sys
 +
 +if len(sys.argv)>1:
 +    nomarch = sys.argv[1];
 +else:
 +    print "Falta nombre de archivo"
 +    sys.exit()
 +
 +try:
 +    arch = open(nomarch,"r")
 +except:
 +    print "Archivo no existe"
 +    sys.exit()
 +
 +datos = arch.readlines()
 +arch.close()
 +
 +scrp = re.compile(r'\[\[([^\]]+)\]\]')
 +for cad in datos:
 +    cmd = scrp.findall(cad)
 +    if len(cmd)>0:
 +        for e in cmd:
 +            print "evaluar: %s" % e
 +    else:
 +        print cad
 +</code>
 +
 +==== Ejemplo de Expresiones Regulares en Scheme (DrScheme) ==== 
 +<code scheme>
 +(require (lib "pregexp.ss"))
 +(define linea "<< eval 45+23 >>")
 +(define r (regexp "<<.*>>"))
 +(regexp-match-positions r linea)
 +(regexp-match-positions r "45a78")
 +(define res (pregexp-split " " linea))
 +</code>
 +
 +==== Ejemplo de Expresiones Regulares en C ====
 +<code c>
 +#include <stdio.h>
 +#include <stdlib.h>
 +#include <string.h>
 +#include <regex.h>
 +
 +int main() {
 +  regex_t retmp;
 +  regmatch_t mtmp;
 +  int res;
 +  char subcad[20],cad[] = "hola 34 mundo";
 +  printf("Patron: [0-9]+\n");
 +  res = regcomp(&retmp,"[0-9]+",REG_EXTENDED);
 +  if (res!=0)
 +    printf("Error al compilar la RegExp (Resultado: %d)\n",res);
 +  printf("Cadena de prueba: %s\n",cad);
 +  res = regexec(&retmp, cad, (size_t) 1, &mtmp, 0);
 +  if (res==0) {
 +    printf("El patron esta en la cadena\n",res);
 +    strncpy(subcad,cad+mtmp.rm_so,mtmp.rm_eo-mtmp.rm_so);
 +    printf("Subcadena: %s\n",subcad);
 +  }
 +  printf("Cadena de prueba: hola mundo\n",cad);
 +  res = regexec(&retmp,"hola mundo", (size_t) 0, NULL, 0);
 +  if (res!=0) 
 +    printf("El patron NO esta en la cadena\n",res);
 +}
 +</code>
 
materias/laboratorio_de_lenguajes_ii/lableng2/regexp.txt · Última modificación: 2011/01/24 15:30 (editor externo)
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki