Я пытаюсь извлечь имя файла из URL-адреса. и я придумал это регулярное выражение

(\w+)(\.\w+)+(?!.*(\w+)(\.\w+)+)

Он отлично работает с таким случаем

http://www.example.com/bar/baz/filename.jpeg?testing

Но не этот (он должен возвращать имя-файла.jpeg)

http://www.example.com/bar/baz/file-name.jpeg?testing

Спасибо за помощь

1
handsome 5 Май 2021 в 00:07

1 ответ

Лучший ответ

Это регулярное выражение должно работать для вас:

([\w-]+)(\.[\w-]+)+(?!.*\/)

Демо RegEx

Сведения о регулярном выражении:

  • ([\w-]+): соответствует 1+ слов или - символов.
  • (\.[\w-]+)+: 1 или более частей после точки
  • (?!.*\/): отрицательный просмотр вперед, чтобы утверждать, что у нас нет / после этого совпадения
1
anubhava 4 Май 2021 в 21:19