As an exercise I was trying to come up with a regex to evaluate simple algebra like
q = \'23 * 345 - 123+65\'
From here I want to get \'23\', \
I can only speak of regex in general, as I don't know python, but your problem is that in
(\d+\s*[\*/+-]\s*)+(\d+\s*)
This portion
(\d+\s*[\*/+-]\s*)+
Is being repeated and when it's completely done evaluating, you only see the final one.