Foros del Web » Programación para mayores de 30 ;) » RegExp »

expresion regular en php

Estas en el tema de expresion regular en php en el foro de RegExp en Foros del Web. Necesito saber si es posible obtener unos resultados de un texto a traves de una expresion regular, comento lo que necesito. supongamos que quiero buscar ...
  #1 (permalink)  
Antiguo 19/12/2017, 05:08
 
Fecha de Ingreso: enero-2011
Mensajes: 1.150
Antigüedad: 13 años, 3 meses
Puntos: 10
expresion regular en php

Necesito saber si es posible obtener unos resultados de un texto a traves de una expresion regular, comento lo que necesito.

supongamos que quiero buscar la cadena "casa grande" pero me debe buscar con prioridad la palabra completa "casa grande" hasta ahi sin problema pero quiero que tambien busque las palabras "casa" y "grande" siempre i cuando casa y grande esten presentes en el documento aunque no juntas siendo valido "casa","casas" y "grande","grandes".

no se si me explico deberia encontrarme cosas como:

"esta es una casa grande"
"mi casa es muy grande"
"mi casita dicen que es grande"
"grandecita es mi casita"

incluso que la captura la haga en ese orden de mayor relevancia, no se si es posible esto, yo estoy intentando hacer pero me quedo bloqueado.


Código PHP:
Ver original
  1. $contenido="
  2. esto es el contendio: esto es una casa grande con mucho jardin aunque dicen que mi casa es grande yo creo
  3. que mi casita no es grandecita aunque realmente sea grandecita mi casita
  4. ";
  5. $expresion="/(^[casa]\s[grande]$ | (((casa[s]?)?|(grande[s]?)?)){1,})(((casa[s]?)?|(grande[s]?)?){1,})/";
  6.  
  7. preg_match_all($expresion,$contenido,$coincidencias);
  8.  
  9. echo"<pre>";
  10. print_r($coincidencias);
  11. echo"</pre>";

la verdad que no me funciona no se si se entiende la idea, segun lei la documentacion de preg_match_all se le puede pasar una bandera en este caso PREG_PATTERN_ORDER que lo que hace es que le pasa al segundo indice el subpatron esto me podria servir siempre y cuando la expresion puesta arriba funcione y al segundo patron se le añada una negacion de encontrar la primera coincidencia, la verdad que ya lo probe sin exito.
saludos

Última edición por azaz; 19/12/2017 a las 05:32

Etiquetas: expresion, php, regular
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:21.