Регулярка: конец строки или знак вопроса?

Есть регулярка, которая обрабатывает ссылки и выдергивает название файла
Например ссылка: https://site.ru/images/favicon.ico
Обрабатывается регуляркой:
\/([a-zA-Z0-9\.\-\_]{1,30}\.[a-zA-Z0-9]+)$

Но не всегда в моем случае ссылка заканчивается концом строки, иногда бываю ссылки вида
https://site.ru/css/css.css?73486438
Вопрос, как должна выглядеть моя регулярка, что бы она могла дергать название файла и из такого вида ссылок?
  • Вопрос задан
  • 143 просмотра
Решения вопроса 3
@dodo512
\/([a-zA-Z0-9\.\-\_]{1,30}\.[a-zA-Z0-9]+)($|\?)
Ответ написан
DevMan
@DevMan
\/([a-zA-Z0-9\.\-\_]{1,30}\.[a-zA-Z0-9]+)(?=$|\?)
https://regex101.com/r/j1LoTh/1
Ответ написан
Комментировать
xEpozZ
@xEpozZ
Веб-разработчик
\/([\w\.\-_]+\.?[\w]+)(\?.*)?$
https://regex101.com/r/KckTe5/1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
sim3x
@sim3x
In [1]: from urllib.parse import urlparse

In [2]: o = urlparse('https://site.ru/images/favicon.ico?foo=bar')

In [3]: o
Out[3]: ParseResult(scheme='https', netloc='site.ru', path='/images/favicon.ico', params='', query='foo=bar', fragment='')

In [4]: o.path.split('/')[-1]
Out[4]: 'favicon.ico'
Ответ написан
Комментировать
@4iloveg
Full-Stack HTML Developer
(\w+.\w+)(?:\?\w+)?$
https://regex101.com/r/s9cUZA/1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы