Foros del Web » Programando para Internet » PHP »

patron regular que seleccione hasta cierre de llave

Estas en el tema de patron regular que seleccione hasta cierre de llave en el foro de PHP en Foros del Web. $t='{a{b}c}{d}'; preg_match('@"tvBanner":{.*?}@',$t,$m); preg_match('~{.*?}~', $t, $m2); quiero coincida hasta el cierre de llave sin importar lo que exista después con lo que hice me coincide esto ...
  #1 (permalink)  
Antiguo 04/12/2020, 14:07
 
Fecha de Ingreso: marzo-2007
Mensajes: 63
Antigüedad: 17 años
Puntos: 0
Pregunta patron regular que seleccione hasta cierre de llave

$t='{a{b}c}{d}';
preg_match('@"tvBanner":{.*?}@',$t,$m);
preg_match('~{.*?}~', $t, $m2);

quiero coincida hasta el cierre de llave sin importar lo que exista después
con lo que hice me coincide esto {a{b} y si quito la codicia me sale esto {a{b}c}{d}, como le hago para que me seleccione así {a{b}c}
  #2 (permalink)  
Antiguo 06/12/2020, 17:59
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 17 años, 11 meses
Puntos: 120
Respuesta: patron regular que seleccione hasta cierre de llave

Cita:
Iniciado por porkeno Ver Mensaje
$t='{a{b}c}{d}';
preg_match('@"tvBanner":{.*?}@',$t,$m);
preg_match('~{.*?}~', $t, $m2);

quiero coincida hasta el cierre de llave sin importar lo que exista después
con lo que hice me coincide esto {a{b} y si quito la codicia me sale esto {a{b}c}{d}, como le hago para que me seleccione así {a{b}c}
el problema es que estas anidando lo que quieres capturar, talvez la otra forma es invertir la CODICIA y ese fragmento lo vuelvas a procesar, todo depende de cuantas anidaciones tienes, si sabes exactamente la estructura, deberias de hacer la expresion o varias expresiones para cubrir todo tipo de datos

algo como

Código PHP:
preg_match('@"tvBanner":{([a-zA-Z].*){([a-zA-Z].+)}([a-zA-Z].*)}{([a-zA-Z].+)}@is',$t,$m); 
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9

Etiquetas: patron, preg_match, 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 07:07.