import re res = re.sub('(\d+)', lambda m: m.group(1) if int(m.group(1)) % 2 else '', text)
or so (checking that the number ends with ('1','3','5','7','9') - thanks to @VasylKolomiets for the hint):
res = re.sub('(\d+)', lambda m: m.group(1) if m.group(1).endswith(tuple('13579')) else '', text)
result:
In [438]: re.sub('(\d+)', lambda m: m.group(1) if int(m.group(1)) % 2 else '', text) Out[438]: 'Определение целых чисел утверждает, что любое из чисел 1, , 3, , число , а также любое из чисел 671, , 35 является целым. Теперь мы легко можем привести примеры целых чисел. Например, число – целое, число – тоже целое, нуль – целое число (напомним, что нуль НЕ является натуральным числом, нуль – целое число), числа 999, 1, , 93, , – также являются примерами целых чисел. Все целые числа удобно представлять как последовательность целых чисел, которая имеет следующий вид: , 1, , 3, … Последовательность целых чисел можно записать и так: …, , 1547, , ,457,,345,,789. Из определения целых чисел следует, что множество натуральных чисел является подмножеством множества целых чисел. Поэтому, любое натуральное число является целым, но не любое целое число является натуральным.'