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

[SOLUCIONADO] sobre expresiones regulares

Estas en el tema de sobre expresiones regulares en el foro de RegExp en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 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
  #2 (permalink)  
Antiguo 09/04/2012, 22:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: sobre expresiones regulares

¿De verdad te vas a aventar la especificación completa de YAML desde cero?

No es fácil, deberías buscar las referencias concretas de la especificación.

O bien estudiar una librería ya escrita para despejar como lo hacen, no siempre las expresiones regulares son el camino mas eficiente.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/04/2012, 12:11
 
Fecha de Ingreso: agosto-2011
Ubicación: Argentina
Mensajes: 31
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: sobre expresiones regulares

hola, era para avisar que ya solucione el problema...
por lo visto el problema era que hay que escapar " con \" en la expresion regular,
no entiendo el porque debo escaparlas ya que son comillas dobles y mi expresion regular va entre comillas simples y las comillas dobles no representan ningun metacaracter en las expresiones regulares de php. Saludos

Etiquetas: expresiones, parsear, preg_match, preg_replace, regulares
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 13:01.