diff --git a/contrib/epee/include/storages/parserse_base_utils.h b/contrib/epee/include/storages/parserse_base_utils.h
index e59cbcf5f..898813ff9 100644
--- a/contrib/epee/include/storages/parserse_base_utils.h
+++ b/contrib/epee/include/storages/parserse_base_utils.h
@@ -107,48 +107,10 @@ namespace misc_utils
 
       */
       void match_string2(std::string::const_iterator& star_end_string, std::string::const_iterator buf_end, std::string& val);
-      inline bool match_string(std::string::const_iterator& star_end_string, std::string::const_iterator buf_end, std::string& val)
-      {
-        try
-        {
 
-          match_string2(star_end_string, buf_end, val);
-          return true;
-        }
-        catch(...)
-        {
-          return false;
-        }
-      }
       void match_number2(std::string::const_iterator& star_end_string, std::string::const_iterator buf_end, boost::string_ref& val, bool& is_float_val, bool& is_signed_val);
-      inline bool match_number(std::string::const_iterator& star_end_string, std::string::const_iterator buf_end, boost::string_ref& val)
-      {
-        try
-        {
-          bool is_v_float = false;bool is_signed_val = false;
-          match_number2(star_end_string, buf_end, val, is_v_float, is_signed_val);
-          return !is_v_float;
-        }
-        catch(...)
-        {
-          return false;
-        }
-      }
+
       void match_word2(std::string::const_iterator& star_end_string, std::string::const_iterator buf_end, boost::string_ref& val);
-      inline bool match_word(std::string::const_iterator& star_end_string, std::string::const_iterator buf_end, boost::string_ref& val)
-      {
-        try
-        {
-          match_word2(star_end_string, buf_end, val);
-          return true;
-        }
-        catch(...)
-        {
-          return false;
-        }
-      }
-      bool match_word_with_extrasymb(std::string::const_iterator& star_end_string, std::string::const_iterator buf_end, std::string& val);
-      bool match_word_til_equal_mark(std::string::const_iterator& star_end_string, std::string::const_iterator buf_end, std::string::const_iterator& word_end);
   }
 }
 }
diff --git a/contrib/epee/src/parserse_base_utils.cpp b/contrib/epee/src/parserse_base_utils.cpp
index e96c2dede..e154a75f8 100644
--- a/contrib/epee/src/parserse_base_utils.cpp
+++ b/contrib/epee/src/parserse_base_utils.cpp
@@ -239,44 +239,6 @@ namespace misc_utils
         }
         ASSERT_MES_AND_THROW("failed to match word number in json entry: " << std::string(star_end_string, buf_end));
       }
-      bool match_word_with_extrasymb(std::string::const_iterator& star_end_string, std::string::const_iterator buf_end, std::string& val)
-      {
-        val.clear();
-
-        for(std::string::const_iterator it = star_end_string;it != buf_end;++it)
-        {
-          if(!isalnum(*it) && *it != '-' && *it != '_')
-          {
-            val.assign(star_end_string, it);
-            if(val.size())
-            {
-              star_end_string = --it;
-              return true;
-            }else 
-              return false;
-          }
-        }
-        return false;
-      }
-      bool match_word_til_equal_mark(std::string::const_iterator& star_end_string, std::string::const_iterator buf_end, std::string::const_iterator& word_end)
-      {
-        word_end = star_end_string;
-
-        for(std::string::const_iterator it = star_end_string;it != buf_end;++it)
-        {
-          if(isspace(*it))
-          {
-
-            continue;
-          }else if( *it == '=' )
-          {            
-            star_end_string = it;
-            word_end = it;
-            return true;
-          }
-        }
-        return false;
-      }
   }
 }
 }
diff --git a/tests/unit_tests/epee_utils.cpp b/tests/unit_tests/epee_utils.cpp
index ab49dc286..1ba0e49ab 100644
--- a/tests/unit_tests/epee_utils.cpp
+++ b/tests/unit_tests/epee_utils.cpp
@@ -1748,68 +1748,44 @@ TEST(parsing, isdigit)
 
 TEST(parsing, number)
 {
-  boost::string_ref val;
-  std::string s;
-  std::string::const_iterator i;
+  struct match_number_test_data {
+    std::string in_str;
+    std::string expect_out_str;
+    bool expect_is_float;
+    bool expect_is_signed;
+  };
+
+  // Add test cases as needed
+  struct match_number_test_data test_data[] = {
+    {         "0 ",         "0", false, false },
+    {       "000 ",       "000", false, false },
+    {        "10x",        "10", false, false },
+    {     "10.09/",     "10.09",  true, false },
+    {       "-1.r",       "-1.",  true,  true },
+    {      "-49.;",      "-49.",  true,  true },
+    {      "0.78/",      "0.78",  true, false },
+    {      "33E9$",      "33E9",  true, false },
+    {     ".34e2=",     ".34e2",  true, false },
+    {  "-9.34e-2=",  "-9.34e-2",  true,  true },
+    { "+9.34e+03=", "+9.34e+03",  true, false }
+  };
 
   // the parser expects another character to end the number, and accepts things
   // that aren't numbers, as it's meant as a pre-filter for strto* functions,
   // so we just check that numbers get accepted, but don't test non numbers
+  // We set is_float/signed_val to the opposite of what we expect the result to
+  // make sure that match_number2 is changing the bools as expected
 
-  s = "0 ";
-  i = s.begin();
-  epee::misc_utils::parse::match_number(i, s.end(), val);
-  ASSERT_EQ(val, "0");
-
-  s = "000 ";
-  i = s.begin();
-  epee::misc_utils::parse::match_number(i, s.end(), val);
-  ASSERT_EQ(val, "000");
-
-  s = "10x";
-  i = s.begin();
-  epee::misc_utils::parse::match_number(i, s.end(), val);
-  ASSERT_EQ(val, "10");
-
-  s = "10.09/";
-  i = s.begin();
-  epee::misc_utils::parse::match_number(i, s.end(), val);
-  ASSERT_EQ(val, "10.09");
-
-  s = "-1.r";
-  i = s.begin();
-  epee::misc_utils::parse::match_number(i, s.end(), val);
-  ASSERT_EQ(val, "-1.");
-
-  s = "-49.;";
-  i = s.begin();
-  epee::misc_utils::parse::match_number(i, s.end(), val);
-  ASSERT_EQ(val, "-49.");
-
-  s = "0.78/";
-  i = s.begin();
-  epee::misc_utils::parse::match_number(i, s.end(), val);
-  ASSERT_EQ(val, "0.78");
-
-  s = "33E9$";
-  i = s.begin();
-  epee::misc_utils::parse::match_number(i, s.end(), val);
-  ASSERT_EQ(val, "33E9");
-
-  s = ".34e2=";
-  i = s.begin();
-  epee::misc_utils::parse::match_number(i, s.end(), val);
-  ASSERT_EQ(val, ".34e2");
-
-  s = "-9.34e-2=";
-  i = s.begin();
-  epee::misc_utils::parse::match_number(i, s.end(), val);
-  ASSERT_EQ(val, "-9.34e-2");
-
-  s = "+9.34e+03=";
-  i = s.begin();
-  epee::misc_utils::parse::match_number(i, s.end(), val);
-  ASSERT_EQ(val, "+9.34e+03");
+  for (const auto& tdata : test_data) {
+    std::string::const_iterator it = tdata.in_str.begin();
+    boost::string_ref out_val = "<unassigned>";
+    bool is_float_val = !tdata.expect_is_float;
+    bool is_signed_val = !tdata.expect_is_signed;
+    epee::misc_utils::parse::match_number2(it, tdata.in_str.end(), out_val, is_float_val, is_signed_val);
+    EXPECT_EQ(out_val, tdata.expect_out_str);
+    EXPECT_EQ(is_float_val, tdata.expect_is_float);
+    EXPECT_EQ(is_signed_val, tdata.expect_is_signed);
+  }
 }
 
 TEST(parsing, unicode)
@@ -1818,13 +1794,44 @@ TEST(parsing, unicode)
   std::string s;
   std::string::const_iterator si;
 
-  s = "\"\""; si = s.begin(); ASSERT_TRUE(epee::misc_utils::parse::match_string(si, s.end(), bs)); ASSERT_EQ(bs, "");
-  s = "\"\\u0000\""; si = s.begin(); ASSERT_TRUE(epee::misc_utils::parse::match_string(si, s.end(), bs)); ASSERT_EQ(bs, std::string(1, '\0'));
-  s = "\"\\u0020\""; si = s.begin(); ASSERT_TRUE(epee::misc_utils::parse::match_string(si, s.end(), bs)); ASSERT_EQ(bs, " ");
-  s = "\"\\u1\""; si = s.begin(); ASSERT_FALSE(epee::misc_utils::parse::match_string(si, s.end(), bs));
-  s = "\"\\u12\""; si = s.begin(); ASSERT_FALSE(epee::misc_utils::parse::match_string(si, s.end(), bs));
-  s = "\"\\u123\""; si = s.begin(); ASSERT_FALSE(epee::misc_utils::parse::match_string(si, s.end(), bs));
-  s = "\"\\u1234\""; si = s.begin(); ASSERT_TRUE(epee::misc_utils::parse::match_string(si, s.end(), bs)); ASSERT_EQ(bs, "ሴ");
-  s = "\"foo\\u1234bar\""; si = s.begin(); ASSERT_TRUE(epee::misc_utils::parse::match_string(si, s.end(), bs)); ASSERT_EQ(bs, "fooሴbar");
-  s = "\"\\u3042\\u307e\\u3084\\u304b\\u3059\""; si = s.begin(); ASSERT_TRUE(epee::misc_utils::parse::match_string(si, s.end(), bs)); ASSERT_EQ(bs, "あまやかす");
+  s = "\"\"";
+  si = s.begin();
+  epee::misc_utils::parse::match_string2(si, s.end(), bs);
+  EXPECT_EQ(bs, "");
+
+  s = "\"\\u0000\"";
+  si = s.begin();
+  epee::misc_utils::parse::match_string2(si, s.end(), bs);
+  EXPECT_EQ(bs, std::string(1, '\0'));
+
+  s = "\"\\u0020\"";
+  si = s.begin();
+  epee::misc_utils::parse::match_string2(si, s.end(), bs);
+  EXPECT_EQ(bs, " ");
+
+  s = "\"\\u1\"";
+  si = s.begin();
+  EXPECT_THROW(epee::misc_utils::parse::match_string2(si, s.end(), bs), std::runtime_error);
+
+  s = "\"\\u12\"";
+  si = s.begin();
+  EXPECT_THROW(epee::misc_utils::parse::match_string2(si, s.end(), bs), std::runtime_error);
+
+  s = "\"\\u123\"";
+  si = s.begin();
+  EXPECT_THROW(epee::misc_utils::parse::match_string2(si, s.end(), bs), std::runtime_error);
+
+  s = "\"\\u1234\"";
+  si = s.begin();
+  epee::misc_utils::parse::match_string2(si, s.end(), bs);
+  EXPECT_EQ(bs, "ሴ");
+
+  s = "\"foo\\u1234bar\""; si = s.begin();
+  epee::misc_utils::parse::match_string2(si, s.end(), bs);
+  EXPECT_EQ(bs, "fooሴbar");
+
+  s = "\"\\u3042\\u307e\\u3084\\u304b\\u3059\"";
+  si = s.begin();
+  epee::misc_utils::parse::match_string2(si, s.end(), bs);
+  EXPECT_EQ(bs, "あまやかす");
 }