Re: [Boost-users] Boost-users Digest, Vol 3673, Issue 1

Hi Larry!
The error must be somewhere else in your code. The following program
behaves exactly as expected:
#include
Message: 1 Date: Thu, 2 Jan 2014 16:40:55 -0500 From: "Larry"
To: Subject: [Boost-users] [Regex] Subexpression matching during search Message-ID: Content-Type: text/plain; charset="utf-8" I have probably missed something in the doc that answers my query but I just can?t see it.
This is using Perl syntax.
I had a regex:
^(XXX_\d{3,3})_\d{3,3}$
It compiles OK but does not match anything in a regex_search. If I remove the parenthesis
^XXX_\d{3,3}_\d{3,3}$
I get matches. Any clues as to what I am missing?
Extract of regex related code lines:
reg.regex = new boost::regex(reg.reg,boost::regex::perl | boost::regex::icase);
boost::match_resultsstring::const_iterator match; boost::match_flag_type flags = boost::match_default; std::string::const_iterator xstart, xend;
xrc = boost::regex_search(xstart,xend,match,*((*rgi).regex),flags);
Larry

Thanks Markus. I did a similar exrcise at John's suggestion.
Alas, there was a bug elsewhere. There are many patterns (>200) and they get
organized by
the first character of the pattern. The organization accounted for the '^'
but not for the
'(' in a "^(...." pattern.
I could not believe it was regex but perhaps I missed something about
patterns as I am not
really a regex person. And sure enough, it was not regex and it was
something about the
patterns but in my code - a failure to organize the patterns correctly.
Larry
-----Original Message-----
From: Markus Lenger
Sent: Saturday, January 04, 2014 4:49 AM
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] Boost-users Digest, Vol 3673, Issue 1
Hi Larry!
The error must be somewhere else in your code. The following program
behaves exactly as expected:
#include
Message: 1 Date: Thu, 2 Jan 2014 16:40:55 -0500 From: "Larry"
To: Subject: [Boost-users] [Regex] Subexpression matching during search Message-ID: Content-Type: text/plain; charset="utf-8" I have probably missed something in the doc that answers my query but I just can?t see it.
This is using Perl syntax.
I had a regex:
^(XXX_\d{3,3})_\d{3,3}$
It compiles OK but does not match anything in a regex_search. If I remove the parenthesis
^XXX_\d{3,3}_\d{3,3}$
I get matches. Any clues as to what I am missing?
Extract of regex related code lines:
reg.regex = new boost::regex(reg.reg,boost::regex::perl | boost::regex::icase);
boost::match_resultsstring::const_iterator match; boost::match_flag_type flags = boost::match_default; std::string::const_iterator xstart, xend;
xrc = boost::regex_search(xstart,xend,match,*((*rgi).regex),flags);
Larry
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (2)
-
Larry
-
Markus Lenger