After some seven thousands hits the match algo throughs the memory exhausted exception. So I cought the exception and moved the iterator by one, printed the location it points to in my searched file to view the problematic section for the regex find algorithm. I have noticed that the problem happens not with all large files, but with quite a bit of them. After I have received the problematic section in my file, I ran the
boost-users-request@lists.boost.org wrote: Send Boost-users mailing list submissions to boost-users@lists.boost.org To subscribe or unsubscribe via the World Wide Web, visit http://www.lists.boost.org/mailman/listinfo.cgi/boost-users or, via email, send a message with subject or body 'help' to boost-users-request@lists.boost.org You can reach the person managing the list at boost-users-owner@lists.boost.org When replying, please edit your Subject line so it is more specific than "Re: Contents of Boost-users digest..." Today's Topics: 1. Re: Regex problems, please help (John Maddock) ---------------------------------------------------------------------- Message: 1 Date: Fri, 13 Aug 2004 11:39:54 +0100 From: "John Maddock" Subject: Re: [Boost-users] Regex problems, please help To: Message-ID: <01d401c48125$ee4e79f0$3c520352@fuji> Content-Type: text/plain; charset="iso-8859-1" program on it and it did not raise any exceptions.
Please , help me I have a Graduate project to complete within 3 weeks from now, and this is one of the major bugs I have not resolved.
You don't say *exactly* what the regex is that's causing the problem - it makes a difference - problems like this are usually caused by an expression that behaves badly with specific input (because regexes are NP-Hard to match in the general case). Boost.Regex will throw an exception rather than go on thrashing forever trying to find a match, but to determine whether this is the case here, you need to trap the exception at the point it's being thrown, and see if the regex lib is indeed the culprit, if it is, then refactoring the expression that you're using so that it's less ambiguous is usually the answer. John. ------------------------------ _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://www.lists.boost.org/mailman/listinfo.cgi/boost-users End of Boost-users Digest, Vol 279, Issue 2 ******************************************* John, I have stated the exact regex, it's \d\d\d\d\d\d , a simple regex matching 6 numbers, but the same happens even with one \d regex. I don't see a way to refactor the \d expression. --------------------------------- Do you Yahoo!? New and Improved Yahoo! Mail - Send 10MB messages!
John, I have stated the exact regex, it's \d\d\d\d\d\d , a simple regex matching 6 numbers, but the same happens even with one \d regex. I don't see a way to refactor the \d expression.
OK, in that case I don't know what the problem is - are you able to generate a test case (mail me privately if the files are large)? And again, from where is the exception being thrown (in other words is it regex that's at fault)? John.
participants (2)
-
John Maddock
-
Kosta Adarchenko