Текстовый файл 24_3.txt состоит не более чем из символов и содержит буквы A, B и цифры десятичной системы счисления, а также знаки «+» и «*» (сложения и умножения).
Определите максимальное количество символов в непрерывной последовательности, которая начинается символами , за которыми следует правильное арифметическое выражение с целыми неотрицательными числами (без знака), записанными в троичной системе счисления.
В этом выражении никакие два знака арифметических операций не стоят рядом. В записи чисел отсутствуют незначащие (ведущие) нули. В ответе укажите количество символов в найденном выражении.
import re
f = open("24_3.txt")
s = f.readline()
# Первое число: 0 или число без ведущих нулей (1 или 2, за которыми могут идти 0, 1, 2)
# Группа для оператора и следующего числа
# Оператор: + или *
# Следующее число: 0 или число без ведущих нулей
# Повторение группы (оператор + число) 0 или более раз
pattern = re.compile(r"AB(0|[12][012]*)(?:[+*](0|[12][012]*))*")
matches = pattern.finditer(s)
max_len = 0
for match in matches:
substring = match.group()
max_len = max(len(substring), max_len)
print(max_len)
Ответ: 5