Expresiones Regulares

Iniciado por Psyke1, 1 Junio 2010, 01:03 AM

0 Miembros y 1 Visitante están viendo este tema.

Psyke1

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!  ;)

leogtz

Depende del lenguaje que utilices.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Psyke1


~ Yoya ~

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 (perl) [Seleccionar]
#!/usr/bin/perl -w

$txt = "Hola quieres aprender a usar Expresiones regulares??";

if($txt =~ /(Hola)\s\w*\s\w*\s[a]\s\w*?\s(Expresiones)\s([a-z?]+)/){
print "$1\n$2\n$3\n";
}

exit;


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


Código (php) [Seleccionar]
<?php

$txt 
"Hola quieres aprender a usar Expresiones regulares??";
preg_match("/(Hola)\s\w*\s\w*\s[a]\s\w*?\s(Expresiones)\s([a-z?]+)/"$txt$captura);
echo 
"$captura[1]\n$captura[2]\n$captura[3]";

?>


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


Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Psyke1

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

~ Yoya ~

desde hace no entiendo que tratas de decir con ER
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Psyke1

 :xD
Lo siento...  :)
ER = Expresiones Regulares

Salu2! ;D

~ Yoya ~

Se le llama Regexp no ER....
Aqui esta:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w

$txt = "xDD&xxDS";#Cadena de texto que contiene el caracter & que queremos obtener
if($txt =~ m/(&)/){
print $1, "\n";
}
exit;

La expresion que uso es: /(&)/.
yoya@Yoya-desktop:~/Escritorio$ perl a.pl
&


Y tambien para comprovar....

Código (perl) [Seleccionar]
#!/usr/bin/perl -w

my $var1 = 'aojojaono218asada';
my $var2 = 'aojosaasonon0548';

if($var1 =~ m/\d/){print "Cadena->$var1 => Existen numero en la primera cadena\n"}
else{print "no existe numero en la primera cadena\n";}

if($var1 =~ m/[A-Z]/){print "Cadena->$var2 =>Existen caracter mayuscula en la cadena\n";}
else{print "Cadena->$var2 => No existe caracter en mayuscula en la cadena\n";}


Salida:
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

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Psyke1

Ok ahora si que voy entendiendo algo! ;-) ;-) ;-) ;-)
Gracias ~ Yoya ~ ! :-*

SeC

Al parecer no has mirado en Wikipedia, 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.
Educad a los niños y no sera necesario castigar a los hombres - Pitagoras.