diff --git a/src/libnptm/Configuration.cpp b/src/libnptm/Configuration.cpp
index ac5764de372b66af92a90e3e41b5a56c0dc4c820..4e96a32f4da27fcaba2c4abfe94408b251afa388 100644
--- a/src/libnptm/Configuration.cpp
+++ b/src/libnptm/Configuration.cpp
@@ -109,7 +109,7 @@ GeometryConfiguration* GeometryConfiguration::from_legacy(string file_name) {
   } else {
     for (int i = 0; i < _nsph; i++) {
       str_target = file_lines[last_read_line++];
-      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
+      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
       for (int ri = 0; ri < 3; ri++) {
 	regex_search(str_target, m, re);
 	str_num = regex_replace(m.str(), regex("D"), "e");
@@ -122,7 +122,7 @@ GeometryConfiguration* GeometryConfiguration::from_legacy(string file_name) {
     }
   }
   double in_th_start, in_th_end, in_th_step, sc_th_start, sc_th_end, sc_th_step;
-  re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
+  re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
   str_target = file_lines[last_read_line++];
   for (int ri = 0; ri < 6; ri++) {
     regex_search(str_target, m, re);
@@ -365,7 +365,7 @@ ScattererConfiguration* ScattererConfiguration::from_dedfb(string dedfb_file_nam
   if (ies != 0) ies = 1;
   double _exdc, _wp, _xip;
   str_target = file_lines[++last_read_line];
-  re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
+  re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
   for (int ri = 0; ri < 3; ri++) {
     regex_search(str_target, m, re);
     string str_number = m.str();
@@ -396,7 +396,7 @@ ScattererConfiguration* ScattererConfiguration::from_dedfb(string dedfb_file_nam
       double xi;
       List<double> xi_vector;
       str_target = file_lines[++last_read_line];
-      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
+      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
       regex_search(str_target, m, re);
       string str_number = m.str();
       str_number = regex_replace(str_number, regex("D"), "e");
@@ -416,7 +416,7 @@ ScattererConfiguration* ScattererConfiguration::from_dedfb(string dedfb_file_nam
     } else { // instpc >= 1: the variable vector is defined in steps
       double xi, xi_step;
       str_target = file_lines[++last_read_line];
-      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
+      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
       regex_search(str_target, m, re);
       for (int ri = 0; ri < 2; ri++) {
 	regex_search(str_target, m, re);
@@ -439,7 +439,7 @@ ScattererConfiguration* ScattererConfiguration::from_dedfb(string dedfb_file_nam
       double vs;
       for (int jxi_r = 0; jxi_r < nxi; jxi_r++) {
 	str_target = file_lines[++last_read_line];
-	re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
+	re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
 	regex_search(str_target, m, re);
 	string str_number = m.str();
 	str_number = regex_replace(str_number, regex("D"), "e");
@@ -467,7 +467,7 @@ ScattererConfiguration* ScattererConfiguration::from_dedfb(string dedfb_file_nam
     } else { // The variable vector needs to be computed in steps
       double vs, vs_step;
       str_target = file_lines[++last_read_line];
-      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
+      re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
       regex_search(str_target, m, re);
       for (int ri = 0; ri < 2; ri++) {
 	regex_search(str_target, m, re);
@@ -537,7 +537,7 @@ ScattererConfiguration* ScattererConfiguration::from_dedfb(string dedfb_file_nam
     regex_search(str_target, m, re);
     i_val = stoi(m.str());
     str_target = m.suffix();
-    re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
+    re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
     regex_search(str_target, m, re);
     string str_number = m.str();
     str_number = regex_replace(str_number, regex("D"), "e");
@@ -569,7 +569,7 @@ ScattererConfiguration* ScattererConfiguration::from_dedfb(string dedfb_file_nam
       dc0m[dim1][dim2] = new complex<double>[nxi]();
     }
   }
-  re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?)?[0-9]+");
+  re = regex("-?[0-9]+\\.[0-9]+([eEdD][-+]?[0-9]+)?");
   for (int jxi468 = 1; jxi468 <= nxi; jxi468++) {
     if (_idfc != 0 && jxi468 > 1) continue;
     for (int i162 = 1; i162 <= nsph; i162++) {