• Publicidad

Expresión regular

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Expresión regular

Notapor laliebre » 2005-06-28 18:39 @818

Saludos, lista.

Tengo el siguiente número:
11111111111111111111111100000000

Necesito, por favor, colocar un punto cada 8 números. Lo hice de un modo pero no me funciona, algo así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $numero = "11111111111111111111111100000000";
  2.  
  3. $numero =~ /^\d{1}\.\d{1}\.\d{1}.\d{1}/;
  4.  
  5. print "$numero\n";
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Creo que falta algo de lógica.

¿Me ayudan por favor?


Saludos

Cris
laliebre
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2004-05-03 16:01 @709

Publicidad

Notapor Perl user » 2005-06-28 19:31 @855

Bueno, no mencionas si el punto lo quieres comenzando de la izquierda o la derecha, pero si es como el motor normalmente lee la expresión, una solución a tu problema sería la siguiente:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $str = '11111111111111111111111100000000';
  2. $str =~ s/(\d{8})\B/$1\./g;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Saludos,

PD. Recomendación: Mastering Regular Expressions, de Jeffrey Friedl, editorial O'Reilly.
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Notapor kidd » 2005-06-28 19:39 @860

Hola.

O podrías hacer una pequeña función así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $str = '11111111111111111111111100000000';
  2. print comas($str);
  3.  
  4. sub comas {
  5.     local $_ = shift;
  6.     1 while s/^([-+]?\d+)(\d{8})/$1,$2/;
  7.     return $_;
  8. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados