When I step through the code in the debugger I see the following results:
I expected all four strings to match the pattern. My thinking was that any combination of 'h' or ' h' would match. Why does ' h h' not match?
Also, if I change the pattern to "( *h)+" then std::tr1::regex_match(" h h", re); does return true (along with " h h" and " h h h h" also returning true). Thank you in advance for any help in understanding the algorithm being used by the windows std regex library.