Ваш шаблон неверен.Во-первых, в демоверсии, на которую вы ссылались, веб-сайт не очень хорошо оформлен и показывает смежные совпадения в виде одного совпадения.\D\D
соответствует ровно 2 нецифровым символам.Кроме того, вы не включили в код запятые, которые есть в шаблоне.В любом случае, вот правильный шаблон:
^(\D+),
Он соответствует началу строки, затем как минимум одному нецифровому символу, затем запятой.Первая группа содержит строку, которую вы хотите сопоставить.
Демо: https://regex101.com/r/pViF0h/2
В коде:
import re
text = '''Desert Treasure,0,0,0,12
Contact!,0,0,11,0,0,0,5
Cook's Assistant,0,0,0,0
Horror from the Deep,0,0,13'''
print(re.findall(r'^(\D+),', text, re.M))
# ['Desert Treasure', 'Contact!', "Cook's Assistant", 'Horror from the Deep']
Если первая запись - то, что вы хотите, неважноЧто, вы также можете использовать:
^(.+?),
Кроме того, для этих файлов, как правило, гораздо лучше прочитать его как CSV и извлечь то, что вам нужно таким образом.