Regex, чтобы получить float из строки

Хей, у меня есть система, в основном отслеживающая финансы. В этом приложении оно имеет поле «затраты» (к сожалению, это поле VARCHAR). Это поле имеет различные значения, введенные как:

£90 £210 per day £50 per logo Design - £180 £36 p/h £1009.51 

Есть ли способ, которым я могу преобразовать их в float? Я попробовал использовать (float), чтобы манипулировать типом в float, но он не работает.

Если он всегда следует за символом £ , вы можете даже убедиться, что другие номера не совпадают:

 £\s*\d+(?:\.\d+)? 

объяснение

 £ # GBP \s* # spaces, optional \d+ # digits, required (at least one) (?: # non-capturing group \.\d+ # a literal dot, and more digits )? # end group, make optional 
 /(\d+[.]?\d*)/ 

отредактированный