Я пытаюсь правильно проанализировать запрос multipart / form-data, он работает, если только загружаемый файл не содержит двойных кавычек.
Запрос выглядит (отрывок из Wireshark):
Content-Disposition: form-data; name="file"; filename="b'e\"e.JPG"
Таким образом, файл фактически называется b'e "e.jpg в моей локальной файловой системе. Браузер правильно экранирует кавычки.
Я хочу извлечь имя файла b'e\"e.JPG
из этой строки.
Я нашел регулярное выражение для захвата строк в кавычках с экранированными кавычками внутри:
/"[^"\\]*(\\.[^"\\]*)*"/i
(источник http://www.regular -expressions.info / regexbuddy / stringescapedmulti.html )
Регулярное выражение прекрасно работает при применении к строке "b'e\"e.JPG"
, но когда я пытаюсь охватить его только в части filename=
, например:
/filename="[^"\\]*(\\.[^"\\]*)*"/i
Я не получу никаких результатов.
Любая помощь будет очень признательна
Редактировать
Я работаю с JavaScript, поэтому я поставил регулярное выражение в js fiddle: http://jsfiddle.net/hDBcs/
Спасибо!
Simon