Попробуйте это регулярное выражение:
import re
files = [
"d804478ds1a.htm",
"d618448ds1a.htm",
"d618448.htm"
]
for f in files:
match = re.search(r"d\w+\.htm", f)
print(match.group())
d804478ds1a.htm
d618448ds1a.htm
d618448.htm
Предположения, приведенные выше, заключаются в том, что имя файла начинается с d
, заканчивается .htm
и содержит только буквы, цифры и подчеркивания.