• Publicidad

Buscador de patrones

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

Buscador de patrones

Notapor moisesazulco » 2010-05-22 16:26 @726

Buenas tardes. Tengo que hacer un proyecto que consta de un buscador de patrones:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. print "Introduzca el texto deseado\n\n";
  2. $texto=<STDIN>;
  3. chop($texto);
  4. print "Introduzca el patron a buscar en el texto\n\n";
  5. $patron=<STDIN>;
  6. chop($patron);
  7. if ($texto =~/$patron/)
  8. {
  9. print "si se encuentra el patrón de búsqueda en el texto \n\n";
  10. }
  11. else
  12. {
  13. print "no se encuentra el patrón de búsqueda en el texto";
  14. }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Este es mi código. Éste ya me dice si el patrón buscado está en el texto ingresado. Mi pregunta es cómo hacer para que el programa me diga cuántas veces se repite el patrón en todo el texto.
moisesazulco
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2010-05-17 21:30 @937

Publicidad

Re: Buscador de patrones

Notapor explorer » 2010-05-22 17:05 @753

Puedes hacerlo de varias maneras. La más fácil para ti, sería hacer un bucle while(), en lugar del if(), agregar la opción /g a la expresión regular, y dentro del bucle, sumar uno a una variable (incrementarlo).

La expresión regular, con el efecto de la opción /g hará repetir el bucle tantas veces como aparezca el patrón de la expresión regular dentro de la cadena a analizar. Solo te queda imprimir el valor de la variable al salir del bucle.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Buscador de patrones

Notapor moisesazulco » 2010-05-22 17:43 @779

ESTE ES MI NUEVO CÓDIGO, PERO TODAVÍA NO FUNCIONA BIEN

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print "Introduzca el texto deseado\n\n";
$texto=<STDIN>;
chop($texto);
print "Introduzca el patron a buscar en el texto\n\n";
$patron=<STDIN>;
chop($patron);
while ($texto =~/$patron/g)
{
$cont=$cont+1;
}
print "$cont\n";
<>;
 
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

LO PODRÍA REVISAR Y AYUDARME A QUE FUNCIONE BIEN.
moisesazulco
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2010-05-17 21:30 @937

Re: Buscador de patrones

Notapor explorer » 2010-05-22 18:07 @796

A mí sí que me funciona...
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
explorer@dv9210:~/Documentos/Desarrollo> ./kk.pl
Introduzca el texto deseado

parapaya la papa
Introduzca el patron a buscar en el texto

pa
4
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

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

cron