Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/04/2012, 22:15
lopezezequiel
 
Fecha de Ingreso: agosto-2011
Ubicación: Argentina
Mensajes: 31
Antigüedad: 13 años, 3 meses
Puntos: 1
sobre expresiones regulares

hola, estoy haciendo un parseador de yaml. hay una expresion regular que estoy como hace media hora dandole vuelta y no me sale...
'/^\s*-\s+"(((\\")|[^\"\n])*)"\s*$/'
tiene que encontrar algo asi como
cualquier cantidad de espacios seguida de un guion seguida de al menos un espacio seguida de una comilla doble seguida de cuaquier expresion(que contenga todo menos comillas y saltos de lineas o si contiene comillas que esten escapadas con \) seguido de una comilla seguido de cualquier cantidad de espacios....
ejemplo: - "cualquier cosa excepto comillas a menos que \""
yo tengo que capturar lo que este entre comillas
preg_match('/^\s*-\s+"(((\\")|[^\"\n])*)"\s*$/', $line, $match);
$captura = $match[1];
el tema es que ademas me esta capturando de aca
- "comillas sin escapar" "

ese es el primer problema
luego de capturada debo reemplazar comillas escapadas \" por comillas "

$x = preg_replace('/\\"/', '"', $linea);

esto tampoco me funciona

saludos