🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #8188

Re: Problemilla con expresiones regulares

#8188
From: Angel Luis Jiménez Martínez
Date: Fri, 27 Dec 2002 22:36
35 lines
2533 bytes
Saiyine <saiyine@clubdelphi.com> wrote:
> Buenas

> Llevo toda la tarde intentando hacerme un peque�o programa que usa como 
> entrada xml y no consigo dar con la expresion regular que extrae la 
> informacion si hay mas de un "dato" en la misma linea con el mismo nombre.

> Resumiendo, se trataria de, dadas dos palabras clave, obtener el texto entre 
> la primera y la primera aparicion de la segunda, en vez de el 
> comportamiento "standard" de perl que es devolver el texto entre la primera 
> y la ultima aparicion de la segunda.

> Por ejemplo, dada la linea:

> <info>prueba1234</info><info>blablablabla</info>

> me gustaria saber una expresion regular que devuelva prueba1234.

> Despues de toda la tarde buscando infructuosamente en el google, lo unico 
> que he encontrado es que la expresion que deberia funcionar es:

> /<info>([^.info]*)</info>/

> Que deberia dejar en $1 el valor "prueba1234", pero en la practica no 
> funciona.

> �Alguna idea?

$cad= "<info>prueba1234</info><info>blablablabla</info>";
$cad=~ s/<info>([^<]+)<\/info>.*/$1/;
print "$cad\n";

Con el [^<] aseguras que pillas caracteres hasta que encuentra el < del
primer </info>. Y el .* final sirve para que se "coma" el 
<info>blablablabla</info> y lo que haya despues.
Technical Details
Message-ID: <auikma$vme$1@sofora02.uji.es>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!xmission!news-out.spamkiller.net!propagator2-maxim!news-in.spamkiller.net!news.telia-iberia.com!news.rediris.es!news.uv.es!sofora01.uji.es!not-for-mail
References: <aui8bh$7ha23$1@ID-84570.news.dfncis.de>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,421d9d514e364efa
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-12-27 14:48:06 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!xmission!news-out.spamkiller.net!propagator2-maxim!news-in.spamkiller.net!news.telia-iberia.com!news.rediris.es!news.uv.es!sofora01.uji.es!not-for-mail
From: Angel Luis Jiménez Martínez <al026635@alumail.uji.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Problemilla con expresiones regulares
Date: Fri, 27 Dec 2002 22:36:58 +0000 (UTC)
Organization: Universitat Jaume I
Lines: 36
Sender: Angel Luis Jiménez Martínez <al026635@anubis.uji.es>
Message-ID: <auikma$vme$1@sofora02.uji.es>
References: <aui8bh$7ha23$1@ID-84570.news.dfncis.de>
NNTP-Posting-Host: anubis.uji.es
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: sofora02.uji.es 1041028618 32462 150.128.40.100 (27 Dec 2002 22:36:58 GMT)
X-Complaints-To: news@marti.uji.es
NNTP-Posting-Date: Fri, 27 Dec 2002 22:36:58 +0000 (UTC)
User-Agent: tin/1.4.5-20010409 ("One More Nightmare") (UNIX) (AIX/4-3)