У меня есть путь конкатенированного файла к документу на сервере, например.Javascript replace() regexp: модификатор вложения
http://test:[email protected]:5555/../test/directory/../name/sub/sub/../../file.js
и по неизвестной причине запрос XHR я посылаю к этому «URL» возвращает ошибку 404, в то время как Chrome, когда я даю ему тот же путь, что делает
http://test:[email protected]:5555/test/name/file.js
от него и возвращается документ в порядке. Теперь я ищу поиск/замену regexp javascript, который может «очистить» путь.
Это то, что я пытался до сих пор:
console.log(
"http://test:[email protected]:5555/../test/directory/../name/sub/sub/../../file.js"
.replace(/([^\/])\/[^\/]*\/..\//g,'$1/')
);
регулярное выражение работ для вложенных матчей, за исключением: /sub/dir/../../
заменяется на /sub/../
, должно быть /
.
Имеется ли модификатор вложенности?
Вы можете продолжить повторное использование _RegExp_ в цикле до тех пор, пока не увидите больше изменений 'while (bar! == (foo = bar.replace (re))) bar = foo;' –
Просьба дать некоторую обратную связь, если мой ответ сработал для вас –