Если вы хотите захватить числа отдельно, мы могли бы использовать необычный оператор \G
continue:
import regex as re
rgx = r"(?|^(\d+)|\G \K(\d+))"
test_str = ("alkdj flajf\n"
"123 adlf ja;ld fj 999\n"
"423 234 2359 kalfji lkja;lkd999")
matches = re.finditer(rgx, test_str, re.MULTILINE)
for match in matches:
print(match.group(1))
Demo (для демонстрации требуется PCRE, поэтому я импортирую альтернативный модуль регулярных выражений)
Я также использую Branch Reset (?|)
и оператор сброса \K
, чтобы заставить вещи работать.