Примечание: Не решение на основе регулярных выражений.
Мне кажется, что полученная вами строка - из локали, где десятичный разделитель равен ,
вместо .
, вы можете просто сделать что-то вроде этого:
NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);
Number n = nf.parse("123,45");
Double d = n.doubleValue();
System.out.print(d);