Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Otros Temas » Programación en general » Expresiones regulares en Python Responder al tema
Nuevo tema


Página 1 de 1  [ 5 mensajes ] 
 
Nota 2010-01-19 17:12 @758

Perlero Senior
Registrado: 2009-03-01 18:39 @818
Mensajes: 387
Expresiones regulares en Python
Hola. Espero que alguien sepa algo de Python porque estoy necesitando ayuda en esto
Syntax: [ Download ] [ Hide ]
Using text Syntax Highlighting
TTA123TTA124TTA125TTA126TTA


Lo que yo quiero es realizar una expresión regular para extraer los números que necesito
que vendrían a ser 123,124,125,126 (aunque en el caso real no es solo dígitos)

¿Alguien me sabe cómo hacerlo?


Nota 2010-01-19 17:23 @766
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10250
Re: Expresiones regulares en Python
Bueno, yo Python no sé, así que te diré cómo se hace en Perl, y de ahí podrías deducir la respuesta en Python.

Syntax: [ Download ] [ Hide ]
Using bash Syntax Highlighting
bash:> perl -le '$x = "TTA123TTA124TTA125TTA126TTA"; @numeros = $x =~ /TTA(.+?)(?=TTA|$)/g; print join ",", @numeros'
123,124,125,126

La expresión regular es:
* buscamos por TTA
* seguido por "algo", que capturamos como $1
* que está seguido por TTA o por el final de cadena
* y repetimos esta búsqueda hasta el final de cadena

_________________
JF^D Perl programming


Nota 2010-01-19 18:05 @795

Perlero Frecuente
Registrado: 2009-07-25 13:00 @583
Mensajes: 158
Re: Expresiones regulares en Python
Bueno, no manejo Python, porque no me gusta su sintaxis, pero solo tienes que sacar los números que están después de TTA. Puede ser así: TTA(\d+), y con una función join() le agregas coma...

¡Saludos!


Nota 2010-01-19 18:13 @801

Perlero Senior
Registrado: 2009-03-01 18:39 @818
Mensajes: 387
Re: Expresiones regulares en Python
Gracias, explorer, pero buscando por Google leí varios manuales de regex en Python y me salió

Syntax: [ Download ] [ Hide ]
Using python Syntax Highlighting
import re

b= re.compile('TTA(.*?)TTA(.*)TTA(.*)TTA(.*)TTA' )
a  = b.search('TTA123TTA124TTA125TTA126TTA').groups()
print a


Ahora voy descubriendo el power en Python a mi corta edad...


Nota 2010-01-19 18:29 @812
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10250
Re: Expresiones regulares en Python
Bueno, solo por completar, el programa Perl equivalente es este:

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
$b = qr/TTA(.*?)TTA(.*)TTA(.*)TTA(.*)TTA/;
@a = 'TTA123TTA124TTA125TTA126TTA' =~ $b;
print @a;

_________________
JF^D Perl programming


Responder al tema  [ 5 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO