Не используйте регулярные выражения для этого. filter()
намного проще и быстрее:
>>> s = "bla bla bla 54467 bla"
>>> int(filter(str.isdigit, s))
54467
Приведенный выше код объединит все числа в строке в одну строку. Если вы не хотите этого, используйте
>>> s = "bla 1223 bla 54467 bla"
>>> map(int, filter(str.isdigit, s.split()))
[1223, 54467]
Те же рецепты, адаптированные для Python 3.x:
>>> s = "bla bla bla 54467 bla"
>>> int("".join(filter(str.isdigit, s)))
54467
>>> s = "bla 1223 bla 54467 bla"
>>> list(map(int, filter(str.isdigit, s.split())))
[1223, 54467]