@Junior93

Как составить регулярку для поиска ссылки с изображением?

Здравствуйте, подскажите пожалуйста по регулярке, почему она не правильно отрабатывает.
я сделал так
re.findall(r'http:\/\/imgsite\.com\/wallpapers\/[a-zA-Z0-9-\/]+320x480\.(jpg|png)', html)

в результате получаю ['png', 'png', 'png', 'png', 'png', 'png', 'png', 'png', 'png', 'png', 'png', 'png', 'jpg', 'jpg', 'png', 'png']
заранее благодарю
  • Вопрос задан
  • 258 просмотров
Решения вопроса 1
targumon
@targumon
re.findall(r'(http:\/\/imgsite\.com\/wallpapers\/[a-z\d\/-]+320x480\.(?:jpg|png))', html, re.I)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
[x[0] for x in re.findall(r'(http:\/\/imgsite\.com\/wallpapers\/[a-zA-Z0-9-\/]+320x480\.(jpg|png))', html)]

Отрабатывает она правильно. Просто выдает в результате найденную группу в найденной строке. В вашем случае - это (jpg|png)
Ответ написан
Комментировать
@pfg21
ex-турист
все правильно, в тако варианте оно выдат только то что в скобках. внеси всё выражение в скобки т.е. r'(http ******* (jpg|png))'
будет выдавать урл и раширение чтото типа 'http://*****.png' , 'png' и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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