
30 Mar
2007
30 Mar
'07
5:24 p.m.
Eric Niebler wrote:
If you use sregex time = (_d) >> ':' >> (_d >> _d); instead of sregex time = sregex::compile( "(\\d):(\\d\\d)" );
There's your mistake. In static regexes, ()'s group but they don't capture. The equivalent of the dynamic regex is:
sregex time = (s1= _d) >> ':' >> (s2= _d >> _d);
Thanks! It works as expected now. It was not obvious to me that you needed to capture in order for regex_token_iterator to work, allthough it does now that you clarified. There is no way to overload left or right parentheses :-) Perhaps a note in the docs or another example will help other people not to make the same mistake. Thanks again for your answer and xpressive! Best regards Jorge