• Publicidad

Asunto de expresiones regulares....

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Asunto de expresiones regulares....

Notapor Negrazo » 2007-04-18 13:55 @621

Hola perleros:

Acabo de terminar una pequeña aplicación de documentos en la que tengo un programa que hace búsqueda de información y me esta funcionando bien, pero lo quiero complementar de la forma siguiente:

Yo quisiera que cuando me indique los documentos que hicieron 'match' con mi palabra de búsqueda y me indique la oración en la que está lo que yo buscaba y de alguna forma lo remarque con otro color u otro tipo de letra o algo que me indique más claramente dónde está lo que yo buscaba.

Por ejemplo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$busqueda = "mysql";
 if ($doc =~ /$busqueda/i)
          {
              print "<a href = imagen.pl?id=$do[0]&nombre=$do[3]&version=$do[4]>Folder: $do[0] File: $do[3] Version: $do[4]</a><BR>";
            }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Aquí $doc es el documento en el que hago la búsqueda y me gustaría ver algo como,

"guardando como objetos(BLOB's) en una base de datos en MySQL.El problema ..."
Es decir en tal documento encontró algo y lo marca en esa oración.

¿Alguien me puede echar la mano en esta duda?
Muchas gracias.

Negrazo
Negrazo
Perlero nuevo
Perlero nuevo
 
Mensajes: 100
Registrado: 2006-12-28 12:51 @577
Ubicación: Guadalajara, Mexico

Publicidad

Notapor monoswim » 2007-04-18 15:55 @705

Estoy solo pensando en vez alta...Un párrafo empieza luego de un punto y termina en un punto también...

Entonces si ponemos...

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
if ($doc =~ /\.(.*?)$busqueda(.*?)\./i)
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Lo que hará es guardar en $1 lo que hay entre el '.' y 'mysql' y en $2 lo que hay entre 'mysql' y el próximo '.'.

Y luego para imprimir la oración podrías hacer

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print $1 . 'mysql' . $2...
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Debería de funcionar, ¿no es así?

Probalo y decime...;-)

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor explorer » 2007-04-18 18:51 @827

Es que antes hay que definir muy claramente lo que es 'una oración'.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Negrazo » 2007-04-19 19:37 @859

OK monoswim:
Voy a probarlo y luego te comento lo que pase.
De cualquier manera gracias por tu ayuda.

Negrazo.
Negrazo
Perlero nuevo
Perlero nuevo
 
Mensajes: 100
Registrado: 2006-12-28 12:51 @577
Ubicación: Guadalajara, Mexico


Volver a Intermedio

¿Quién está conectado?

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