Регулярное выражение для поиска файлов .lnk

AmneziaVPN.lnk Buble CodeBlocks.lnk desktop.ini game GuessNumber IDLE (Python 3.9 64-bit).lnk port.pdf Shareman.lnk Untitled-1.py Visual Studio Code.lnk Новая папка Proyects.lnk Этот компьютер - Ярлык.lnk

Есть такой набор файлов и я хочу из него отобрать все названия ярлыков на .lnk Написал выражение

[\w\W]+?\s?.lnk

Но получается, что оно захватывает и те названия, которые не соответствуют .lnk из-за того, что оно встретится в следующем вхождении. Можно ли как-то исправить этот момент, уже несколько часов пытаюсь решить этот вопрос


Ответы (1 шт):

Автор решения: Сергей Ш
lst = ['AmneziaVPN.lnk', 'Buble CodeBlocks.lnk', 'desktop.ini', 'game GuessNumber IDLE (Python 3.9 64-bit).lnk',
       'port.pdf', 'Shareman.lnk', 'Untitled-1.py', 'Visual Studio Code.lnk', 'Новая папка Proyects.lnk',
       'Этот компьютер - Ярлык.lnk', 'main.lnk.py']
print(*[x for x in lst if x[-4:] == '.lnk'], sep='\n')
# print(*[x for x in lst if x.endswith('.lnk')], sep='\n')

AmneziaVPN.lnk
Buble CodeBlocks.lnk
game GuessNumber IDLE (Python 3.9 64-bit).lnk
Shareman.lnk
Visual Studio Code.lnk
Новая папка Proyects.lnk
Этот компьютер - Ярлык.lnk
→ Ссылка