Если я все правильно понял, можно обойтись без регулярок:
urls = [
"https://site.ru/img/art-z.h-img.jpg",
"https://site.ru/img/art-1.h-img.jpg",
"https://site.ru/img/art-1.5-img.jpg",
]
def remove_sumbol(string):
new_symbol = ''
parts = string.split('.', 2)
if len(parts) == 3:
return parts[0] + '.' + parts[1] + new_symbol + parts[2]
return string
for x in urls:
print(remove_sumbol(x))
Output:
https://site.ru/img/art-zh-img.jpg
https://site.ru/img/art-1h-img.jpg
https://site.ru/img/art-15-img.jpg
Если точку нужно заменить на другой символ, то символ для замены нужно передать в new_symbol.