Foros del Web » Programando para Internet » PHP »

No me sale expresión regular

Estas en el tema de No me sale expresión regular en el foro de PHP en Foros del Web. Necesito filtrar un string que cumpla un determinado patrón. Tengo strings de este estilo: /provincias/provincia-buenos-aires/item/218 /nacion/item/224 /component/k2/itemlist/user/166 Me gustaría levantar TODOS menos el último. Tengo ...
  #1 (permalink)  
Antiguo 25/02/2011, 08:54
 
Fecha de Ingreso: mayo-2003
Mensajes: 544
Antigüedad: 21 años, 5 meses
Puntos: 1
No me sale expresión regular

Necesito filtrar un string que cumpla un determinado patrón.

Tengo strings de este estilo:

/provincias/provincia-buenos-aires/item/218
/nacion/item/224
/component/k2/itemlist/user/166

Me gustaría levantar TODOS menos el último.

Tengo dos preguntas:

Si quisiera limitar el nivel de "carpetas" del string a solamente 3 pero conservando el patrón [^ ]+ se podría hacer?

Si quisiera matener el patrón [^ ]+ (para validar todos los niveles) pero que no incluya en uno de esos niveles la palabra component o k2, cómo se podría hacer?

Espero que me ayuden!
GRACIAS!
__________________
CSSBoulevar
Recursos para diseñadores y programadores webs
  #2 (permalink)  
Antiguo 25/02/2011, 09:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: No me sale expresión regular

puedes usar los paréntesis de looking, así puedes mirar hacía atrás o hacía adelante ya sea positiva o negativamente...

lee lo siguiente:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 25/02/2011, 10:37
 
Fecha de Ingreso: mayo-2003
Mensajes: 544
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: No me sale expresión regular

Gracias!

Estoy haciendo esto: (?<!component)[^ ]+

pero me siguen dando válidas direcciones como /component/k2/itemlist/user/

Que estoy haciendo mal?
__________________
CSSBoulevar
Recursos para diseñadores y programadores webs
  #4 (permalink)  
Antiguo 25/02/2011, 15:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: No me sale expresión regular

sería bueno conocer la fuente exacta que estás comparando, así como la forma en que empleas dicha expresión... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 27/02/2011, 08:59
 
Fecha de Ingreso: mayo-2003
Mensajes: 544
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: No me sale expresión regular

Supongo que tengo un listado así:

http://www.sitio.com/provincias/provincia-buenos-aires/item/515.html
http://www.sitio.com/provincias/santa-cruz/item/466.html
http://www.sitio.com/component/k2/itemlist/user/72.html
http://www.sitio.com/nacion/item/507.html

De todos estos link, solo quiero obtener los que estan en verde. Para poder lograr esto hago lo siguiente:

http:\/\/www\.sitio\.com\/[^ ]+\/[0-9]+\.html

El problema que tengo es que también levanto el link que está en rojo. Lo único que se me ocurrió fue poder filtrar que no aparezca la palabra "component" o "k2" dentro de [^ ]+, pero nada me funcionó.

Espero haber explicado bien el problema
__________________
CSSBoulevar
Recursos para diseñadores y programadores webs
  #6 (permalink)  
Antiguo 27/02/2011, 09:18
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 11 meses
Puntos: 89
Respuesta: No me sale expresión regular

Código PHP:
Ver original
  1. "http:\/\/www\.sitio\.com\/(?:provincias|nacion)\/(?!k2)\/([0-9]+)\.html"

Se me ocurre algo así, y si está bien, es muy general. Tendrías que probar si funciona, pues no lo he probado, y no sé si está bien xD.

Saludos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #7 (permalink)  
Antiguo 27/02/2011, 09:24
 
Fecha de Ingreso: mayo-2003
Mensajes: 544
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: No me sale expresión regular

Gracias por tu ayuda!

Pero en realidad no queda reducido solamente a provincia o nación, puede haber otros string ahí mismo... :(

Lo único que sé con seguridad, es que la palabra component solo aparece en el primer / de la url
__________________
CSSBoulevar
Recursos para diseñadores y programadores webs

Etiquetas: regular, sale
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:55.