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

Ejemplo de Expresiones Regulares en 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;

Ejemplo de Expresiones Regulares en 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

Ejemplo de Expresiones Regulares en Scheme (DrScheme)

(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))

Ejemplo de Expresiones Regulares en 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);
}
 
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