|
Boost Users : |
From: kiran (kiran.happy_at_[hidden])
Date: 2006-08-29 08:22:38
Hi
I am using sregex_iterator to parse an html file like below.
string htmlFile;
//populate htmlFile with a file contents
regex regExpr("Resurfacing(.|\\n)*Home", boost::regex::icase);
sregex_iterator itr(htmlFile.begin(), htmlFile.end(), regExpr);
But that is throwing and std::runtime_error exception with message "Regular expression too big". What can i do to avoid this ?
I went through http://www.boost.org/libs/regex/doc/configuration.html and changed the variables like below
#define BOOST_REGEX_NON_RECURSIVE
#define BOOST_REGEX_BLOCKSIZE (4096 * 10)
#define BOOST_REGEX_MAX_BLOCKS 1024
Even after that i am getting the same error message. I found that when i changed the regular expression ( i mean a simpler 'regExpr' variable) to a simpler one, the exception (std::runtime_error) was not thrown. I need to parse big html files for some complex regular expressions. I dont mind even if the sregex_iterator takes much memory or time.How can i solve this error. ? Or is this a limitatiton of boost::regex library.
Thanks In Advance
Kiran.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net