#javascript #regex
#javascript #регулярное выражение
Вопрос:
Я получил следующую строку:
"url("http://localhost/image/user/temp/n9cec42c939ab461cac7852c267413b1b.jpg")"
Как я могу извлечь имя файла с помощью регулярного выражения javascript?
Я попробовал [^/] $, но он сохраняет «) в конце.
Спасибо.
Ответ №1:
Довольно близко к тому, что вы написали
/[^/] (?=")$)/
например
/[^/] (?=")$)/.exec(s)
где s
ваш пример строка возвращает правильное имя файла.
(объяснение: с регулярными выражениями форма (?=...)
означает что-то, что должно следовать за совпадением, но не должно рассматриваться как часть совпадения).
Ответ №2:
разделите на обратную косую черту, щелкните, чтобы получить последний результат, и удалите ")
'url("http://localhost/image/user/temp/n9cec42c939ab461cac7852c267413b1b.jpg")'.split('/').pop().replace('")', '')
Или, если регулярное выражение — это только ваша вещь:
var url = 'url("http://localhost/image/user/temp/n9cec42c939ab461cac7852c267413b1b.jpg")';
url.match(/. /(. )")/)[1]; // file name
Ответ №3:
[^/] ")$
будет работать на вашем примере. Если это не то, что вам нужно, пожалуйста, укажите более подробную информацию в своем вопросе.
Ответ №4:
С помощью регулярного выражения вы можете использовать:
'url("http://localhost/image/user/temp/n9cec42c939ab461cac7852c267413b1b.jpg")'.match(//([dw] .[w] )/)[1]
предполагая, что ваше имя файла состоит из a-z 0-9 и трехсимвольного расширения