Hello everyone,
 
     When I use boost_1_41_0  of regx in vs2005, I met this runtime error:
 
boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::regex_error> >
 
I search a lot, but there is not valid method to solve it. Can you do me a favor to give me the way to solve it.
 
Thanks a lot
 
my code is
 
#include <boost/regex.hpp>
#include <iostream>
boost::regex e("(\\d{3, 4})[- ]?(\\d{4)})[- ]?(\\d{4})[- ]?(\\d{4})");
void print_captures(const std::string& regx, const std::string& text)
{
 boost::regex e(regx);
 boost::smatch what;
 std::cout << "Expression: \"" << regx << "\"\n";
 std::cout << "Text:       \"" << text << "\"\n";
 if (boost::regex_match(text, what, e, boost::match_extra))
 {
  unsigned i, j;
  std::cout << "** Match found **\n Sub-Expressions: \n";
  for (i = 0; i < what.size(); ++i)
   std::cout << " $" << i << " = \"" << what[i] << "\"\n";
  std::cout << " Captures:\n";
  for (i = 0; i < what.size(); ++i)
  {
   std::cout << " $" << i << " = {";
   for (j = 0; j < what.captures(i).size(); ++j)
   {
    if (j)
     std::cout << ", ";
    else
     std::cout << " ";
    std::cout << "\"" << what.captures(i)[j] << "\"";
   }
   std::cout << "}\n";
  }
 }
 else
 {
  std::cout << "** No match found **\n";
 }
}
int main(int , char* [])
{
  print_captures("(([[:lower:]]+)|([[:upper:]]+))+", "aBBcccDDDDeeeeeee");
 return 0;
}