python的正则表达式如何表示到.为止的全部字符

现在我要提取string = 'abcd.png'中.png前所有内容,即'abcd'.

我用re.search('.*/.$',str).group()却返回none,正确应该怎么写??

import re

string = 'abcd.png'
result = re.match(r'.*(?=\.)', string).group()
print(result)

abcd