Estoy tratando de analizar correctamente una solicitud multipart/form-data, funciona a menos que el archivo que se está cargando contenga comillas dobles.Regex para nombre de archivo con comillas en multipart
La solicitud se parece a (extracto de Wireshark):..
Content-Disposition: form-data; name="file"; filename="b'e\"e.JPG"
Así que el archivo se llama en realidad b'e "e.jpg en mi sistema de ficheros local El navegador se escapa de las cotizaciones adecuadamente
Quiero agarrar el nombre del archivo b'e\"e.JPG
de esta cadena
me encontré con una expresión regular para agarrar cadenas entre comillas con comillas escapadas interior:.
/"[^"\\]*(\\.[^"\\]*)*"/i
(fuente http://www.regular-expressions.info/regexbuddy/stringescapedmulti.html)
La expresión regular funciona perfectamente cuando se aplica sobre la cadena "b'e\"e.JPG"
pero cuando trato de alcance sólo en la parte , como:
/filename="[^"\\]*(\\.[^"\\]*)*"/i
que no recibirá resultados.
Cualquier ayuda sería muy apreciada
Editar:
estoy trabajando con JavaScript, por lo que poner la expresión regular en el violín JS: http://jsfiddle.net/hDBcs/
Gracias!
Simon
Sólo una prueba rápida con RegexBuddy funciona bien para mí, hay otra parte de la expresión regular eso podría estar arruinándolo? – CodingGorilla
Hola, gracias por probar :) pero en javascript no funciona desafortunadamente. He agregado una prueba rápida en jsFiddle (ver edición). – sled