Регулярные выражения по своей сути предназначены для сопоставления строк, а в некоторых программных библиотеках - для замены строк другими и аналогичной обработки строк, но не для выполнения математических операций. Вам необходимо сохранить значение, полученное с помощью регулярного выражения, в числовой тип и выполнить для него умножение, а затем снова отформатировать результат в виде строки, если необходимо.
В Python 2.7:
import re
exchangeRate = 165.42 / 127.25
numString = re.match('(\d+.\d\d)GBP', '127.25GBP').group(1)
num = float(numString)
numConverted = num * exchangeRate
numConvertedFormatted = "%.2f" % numConverted
Если вы делаете серьезные валютные вычисления, я бы посоветовал использовать int с фиксированной точкой (или в случае десятичного числа Python) вместо float. Для приближений достаточно поплавка.