
Есть строка с числами. Нужно написать регулярное выражение, которое, если число состоит из нечётного-чётного-нечётного-чётного… числа выводит его
Пример:
12 23 3456 789 123456 —> 12 3456 123456
Я сделал это:
print(re.findall(r'[13579][02468]',string))
Но результат не совсем тот:
12 34 56 78 12 34 56
Попробовал так:
print(re.findall(r'[13579][02468]\w+',text[0]))
Теперь результат следующий:
3456 789 123456
Почему-то пропало 12. А ещё не нужно, чтобы выводилось 789, ибо там 78 попадает под шаблон, а вот для 9 нету пары
Как доделать?
1Ответы

Все что удалось найти:
Еще может заинтересовать:
Еще может заинтересовать:

print(re.findall(r'\b(?:[13579][02468])+\b',string))
\b ... \b
означает, что мы ищем целое «слово» (в данном случае состоящее из цифр)
([13579][02468])+
означает, что мы ищем числа, состоящие из пар нечетная-четная
?:
в начале скобки означает, что она не будет запомнена