Использование
val_to_pattern = {'stat': r'Stat indicator\s*:\s*(\d+)'}
Обратите внимание, что шаблон \s*:\s*
соответствует :
, опционально обернутому 0+ пробелами, а часть (\d+)
соответствует, а захватывает в группу 1 в любом 0+ цифры (обратите внимание, что re.findall
возвращает только захваченные подстроки, если в регулярном выражении установлены группы захвата).
См. демонстрационное выражение регулярного выражения (зеленый текст будетрезультат).
В качестве альтернативы, если количество цифр в статистике индикатора всегда равно 5, используйте любое из значений:
val_to_pattern = {'stat': r'Stat indicator\s*:\s*(\d{5})\b'}
val_to_pattern = {'stat': r'Stat indicator\s*:\s*(\d{5})(?!\d)'}
\b
- это граница слова, для которой требуется не-слово charили конец строки после 5 цифр, и (?!\d)
- это отрицательный сигнал, который не соответствует совпадению, если справа от текущего местоположения есть цифра.