cumpa, antes de seguir intentar ayudarlo.... ¿puede explicitar qué es
lo que quiere hacer?
Las expresiones regulares son muy potentes, aunque bastante intrincadas.
una forma algo burda de resolver lo que vos queres es usar el operator
punto seguido del asterisco. El punto es comodin, es decir que
coincide con cualquier caracter. El asterisco dice "de la regex
anterior, puede haber 0 o muchos".
entonces, engadenando se podria formar un patron asi:
palabra1.*palabra2.*palabra3
lo que coincidiria con cualquier bloque que tuviese las 3 palabras (en
orden) aunque posiblemente separadas por otras palabras entre ellas.
eso funciona. puedes probarlo en el mismo ejemplo de antes.
Por ejemplo, hay un articulo que tiene el descriptif algo asi
"La semana pasada estuvimos con Mora Martinez, cantante y percusionista... "
y este patron (pasado en Texto) lo encuentra
http://www.efectotabano.com.ar/spip.php?page=reg&Texto=semana.*cantante.*percusionista
Potente pero no es muy flexible, porque la cadena de busqueda pierde
la "naturalidad" (deberias reemplazar los espacios por ".*" antes de
realizar el envio del formulario, posiblemente mediante javascript).
Ademas, este patron exige el orden (yo no soy muy
bueno con las regex, lo siento)... por lo que al cambiar por ejemplo el orden
Texto=semana.*percusionista.*cantante ya no coincidiria.
Por otro lado, patrones mas exahustivos son mas costosos en cuanto al
calculo, y si tu base tiene muchos articulos, puede no ser muy rapido.
como veras, la cosa se complica.
Pero qué quieres hacer? ¿No podrias mejor "marcar" el articulo con
palabras claves, y luego filtrar a traves de ellas?
fijate lo que he realizado acá:
http://ph-cordoba.com/spip.php
cada "inmueble" es un articulo, clasificado con distintos grupos de
palabras claves (barrio, tipo, ambientes, etc).. luego simplemente
filtro todos los que tengan todas las palabras claves seleccionadas.
no es google, pero para contenido estructurado funciona y es mucho mas
facil para spip.
saludos.
El 31/03/08, marcelo gracia <mjgracia2003@yahoo.com.ar> escribió:
Hola martín: Mirá estuve viendo ño el codigo y está tal cual lo pones en tu respuesta
anterior.
Tengo el doble igual (==) en la expresión.
Ahora realice unas pruebas más y obtuve estos resultados:
Si Yo tengo un artículo que dice esto en la descripción:
".... Decretos y Normas, Sesionadas en la Sesion de Julio del Año 1975 en Paraná....."
Yo quiero que al buscar la siguiente cadena:
"Sesionadas Julio 1975"
que serian 3 palabras no consecutivas de mi descripción, me encuentre el artículo.
El resultado mostrado no fué el esperado porque el ejemplo me busca las 3 palabras
consecutivas.
La versión que estoy utilizando de SPIP es la 1.9.2.
Saludos .
--- Martín Gaitán <gaitan@gmail.com> escribió:
> Hola compañero!
>
> ¿¿qué version de spip estás usando?? seguro que poner el doble igual y
> no uno solo??
>
> fijate, hice un ejemplito aqui:
>
> http://www.efectotabano.com.ar/spip.php?page=reg&Texto=tin
>
> cambiando el valor de la variable Get "Texto", se "filtra" distinto. por ejemplo
>
> http://www.efectotabano.com.ar/spip.php?page=reg&Texto=Lucrecia%20Martel
>
> el codigo del bucle, que es el que te pasé antes, se puede ver en
> http://www.efectotabano.com.ar/squelettes/reg.html (control+u en firefox)
>
> Acordate que todo se basa en la potencia de las expresiones regulares,
> asi que podes buscar info sobre ella en san google.
>
> ¡salú!
>
>
>
> El 31/03/08, marcelo gracia <mjgracia2003@yahoo.com.ar> escribió:
> > Hola gente.
> > Bueno martín, estuve probando lo que me dijiste y obtuve esta conclusión:
> > La búsqueda que realiza es Exacta al Texto que ingreso ( lo cual es muy util para mi
> > propósito). Ahora bien, yo habia programado otra búsqueda pero que no era exacta
> sino que
> > tenia un like.
> >
> > Ejemplo: si en mi descripción tengo el siguiente texto:
> > "Sancionada en Sala de Sesiones el Día 19 de Agosto de 1990"
> > yo con el Primer ejemplo busco asi: Dia 19 de Agosto y obtengo el artículo. Pero si
> yo
> > quiero buscar "Sesiones 19 Agosto 1990" no obtengo el resultado deseado.
> >
> > Esto es porque la consulta la hace idéntica.
> >
> > Pregunto: ¿Hay alguna manera de decirle a spip que me busque varias palabras tipo
> LIKE?
> > Bueno, gracias por tu aporte!.
> >
> > Saludos. marcelo.
> >
>
Yahoo! Encuentros.
Ahora encontrar pareja es mucho más fácil, probá el nuevo Yahoo! Encuentros http://yahoo.cupidovirtual.com/servlet/NewRegistration