>>15
>>16が言ってるが、
re.sub()には置換先(repl)として、ただの文字列ではなく
matchオブジェクトを受け取って文字列を返す関数を渡すこともできるよ
たとえばこんな風に

s = '1 234 5678'
print re.sub(r'\d+', lambda m: str(int(m.group()) * 2), s)

が、一般論としては、htmlを扱ってるんならlxmlなりBeautifulSoupなり
使ったほうがいいと思う