[Madrid-pm] Expresion regular

deibyz deibyz en gmail.com
Mar Feb 1 00:18:22 PST 2011


2011/2/1 JJ Merelo <jjmerelo en gmail.com>

> El día 1 de febrero de 2011 08:42, Javier Sanchez <sjllera en gmail.com>
> escribió:
> >
> >
> > Hola chavales !
> >
> > tengo un problema muy sencillo que no termino de solucionar. En sed para
> > separar de un string/linea las palabras que
> > empiezan conuna mayuscula uso "/\([A-Z]\)/\ \1/g", el caso es que la
> misma
> > con tr ni con s soy capaz de que funcione
> > que se me escapa ?
>
> ¿Un ejemplo?
> De todas formas con tr no veo como puedes separar las palabras; con s
> tampoco lo tengo muy claro (¿sustituyendo por espacio?) ¿Has probado a
> usar algo así como
> my @palabras_mayuscula = ( $linea =~ /\b([A-Z]+)\b/ );
>
> (eso si no llevan caracteres latinos, claro)
>
> Saludos
>
> No se si he entendido bien lo que quieres hacer, si es que un string tal
que así:

"holaMundoQueTal"

Se convierta en esto:

"hola Mundo Que Tal"

En tu regexp te sobran los backslashes (\), en perl si los escapas los
considera literales (demasiado vi? ;)).

$ perl -ple 's/([A-Z])/ \1/g'
holaMundoMundial
hola Mundo Mundial

También puedes usar la ligeramente más eficiente (y mucho más molona) opción
del lookahead:

$ perl -ple 's/(?=[A-Z])/ /g'
holaMundoMundial
hola Mundo Mundial

¿Es esto lo que querías hacer?

Salu2,
D.


--
JJ
_______________________________________________
Madrid-pm mailing list
Madrid-pm en pm.org
http://mail.pm.org/mailman/listinfo/madrid-pm
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.pm.org/pipermail/madrid-pm/attachments/20110201/ed828ceb/attachment.html>


Más información sobre la lista de distribución Madrid-pm