Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Psyke1 en 1 Junio 2010, 01:03 am



Título: Expresiones Regulares
Publicado por: Psyke1 en 1 Junio 2010, 01:03 am
Hola, os cuento:
Me gustaria saber un poco mas de las expresiones regulares, he mirado ejemplos por ahi pero no me acabo de aclarar que digamos...  :-\
Estoy abierto a recomendaciones y me gustaria que me pusierais un ejemplo de como se saca X caracter de una cadena utilizando E.R.  :)
Son tan complicadas como parecen¿?  :(

Gracias!  ;)


Título: Re: Expresiones Regulares
Publicado por: leogtz en 1 Junio 2010, 01:14 am
Depende del lenguaje que utilices.


Título: Re: Expresiones Regulares
Publicado por: Psyke1 en 1 Junio 2010, 01:25 am
VB


Título: Re: Expresiones Regulares
Publicado por: ~ Yoya ~ en 1 Junio 2010, 01:29 am
el problema esta en entenderla como funcionan, después que la entiendes ps ya lo demás no están dificir...
Las expresiones regulares aparte de que sirven para capturar, tambien para verificar.

y son muy parecidas en los distintos lenguajes...

Código
  1. #!/usr/bin/perl -w
  2.  
  3. $txt = "Hola quieres aprender a usar Expresiones regulares??";
  4.  
  5. if($txt =~ /(Hola)\s\w*\s\w*\s[a]\s\w*?\s(Expresiones)\s([a-z?]+)/){
  6. print "$1\n$2\n$3\n";
  7. }
  8.  
  9.  

Salida:
Código:
yoya@Yoya-desktop:~/Escritorio$ perl a.pl
Hola
Expresiones
regulares??

Código
  1. <?php
  2.  
  3. $txt = "Hola quieres aprender a usar Expresiones regulares??";
  4. preg_match("/(Hola)\s\w*\s\w*\s[a]\s\w*?\s(Expresiones)\s([a-z?]+)/", $txt, $captura);
  5. echo "$captura[1]\n$captura[2]\n$captura[3]";
  6.  
  7. ?>

Salida:
Código:
yoya@Yoya-desktop:~/Escritorio$ php a.php
Hola
Expresiones
regulares??



Título: Re: Expresiones Regulares
Publicado por: Psyke1 en 1 Junio 2010, 01:43 am
Agradezco tu esfuerzo  ;-), pero sigo sin entenderlo bien...  :P
Me sabrias poner un ejemplo de como se saca el caracter "&" de una cadena utilizando E.R. , por ejemplo... Te lo agradeceria mucho... :silbar:
Ten en cuenta que no tengo ni idea de esto, como no me expliques un poco lo que haces en la ER... :)

Gracias! ;D


Título: Re: Expresiones Regulares
Publicado por: ~ Yoya ~ en 1 Junio 2010, 01:46 am
desde hace no entiendo que tratas de decir con ER


Título: Re: Expresiones Regulares
Publicado por: Psyke1 en 1 Junio 2010, 01:50 am
 :xD
Lo siento...  :)
ER = Expresiones Regulares

Salu2! ;D


Título: Re: Expresiones Regulares
Publicado por: ~ Yoya ~ en 1 Junio 2010, 02:01 am
Se le llama Regexp no ER....
Aqui esta:
Código
  1. #!/usr/bin/perl -w
  2.  
  3. $txt = "xDD&xxDS";#Cadena de texto que contiene el caracter & que queremos obtener
  4. if($txt =~ m/(&)/){
  5. print $1, "\n";
  6. }
La expresion que uso es: /(&)/.
Código:
yoya@Yoya-desktop:~/Escritorio$ perl a.pl
&

Y tambien para comprovar....

Código
  1. #!/usr/bin/perl -w
  2.  
  3. my $var1 = 'aojojaono218asada';
  4. my $var2 = 'aojosaasonon0548';
  5.  
  6. if($var1 =~ m/\d/){print "Cadena->$var1 => Existen numero en la primera cadena\n"}
  7. else{print "no existe numero en la primera cadena\n";}
  8.  
  9. if($var1 =~ m/[A-Z]/){print "Cadena->$var2 =>Existen caracter mayuscula en la cadena\n";}
  10. else{print "Cadena->$var2 => No existe caracter en mayuscula en la cadena\n";}

Salida:
Código:
yoya@Yoya-desktop:~/Escritorio$ perl a.pl
Cadena->aojojaono218asada => Existen numero en la primera cadena
Cadena->aojosaasonon0548 => No existe caracter en mayuscula en la cadena


Título: Re: Expresiones Regulares
Publicado por: Psyke1 en 1 Junio 2010, 02:07 am
Ok ahora si que voy entendiendo algo! ;-) ;-) ;-) ;-)
Gracias ~ Yoya ~ ! :-*


Título: Re: Expresiones Regulares
Publicado por: SeC en 1 Junio 2010, 02:12 am
Al parecer no has mirado en Wikipedia (http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular), ahí tienes todo lo que necesitas, y mira los enlaces externos que aparecen .. con eso debería quedarte claro o al menos tendrás una base.