Я пытаюсь правильно проанализировать запрос multipart/form-data, он работает, если загружаемый файл не содержит двойных кавычек.
Запрос выглядит так (выдержка из wirehark):
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: http://jsfiddle.net/hDBcs/ а>
Спасибо!
Саймон