full_pattern = '^(?:[A-Z]{2,12}(?:[*+]\\d+(?:\\.\\d{1,2})?)?(?:,|$))*$'
extract_pattern = (
    """(?P<block>(?P<subject>[A-Z]{2,12})(?:(?P<operation>[*+])(?P<value>\\d+(?:\\.\\d{1,2})?))?)"""
    )
if re.fullmatch(full_pattern, str):
    pass
Сопоставьте определенный шаблон с регулярным выражением