09/04/2012, 22:15
|
| | 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 |