
(Sorry for starting a new thread instead of replying. GMane appears to be down at the moment.)
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); Please see the section "Grouping and Captures" in the documentation here: http://tinyurl.com/33z8gk. -- Eric Niebler Boost Consulting www.boost-consulting.com

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
participants (2)
-
Eric Niebler
-
Jorge Lodos