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; }
AMDG pirate-king wrote:
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})");
The error is in this global regex. Missing } in quantified repetition. The error occured while parsing the regular expression fragment: '[- ]?(\d{4>>>HERE>>>)})[- ]?(\'. In Christ, Steven Watanabe
The error is in this global regex.
Missing } in quantified repetition. The error occured while parsing the regular expression fragment: '[- ]?(\d{4>>>HERE>>>)})[- ]?(\'.
Yup, there's an extra ")" before a "}". BTW how do folks like these new error messages that Steven has quoted here? Any better than before? John.
participants (3)
-
John Maddock
-
pirate-king
-
Steven Watanabe