#include <iostream>
#include <regex>
using namespace std;
int main(int argv, const char* argc[])
{
regex log_line_regex_(".+\\s(.+)$");
char* log_line = "06-29 18:20:08.938 1031 1099 D WifiStateMachine: processMsgConnect oo ModeState";
smatch matches;
if (regex_match(std::string(log_line), matches, log_line_regex_))
{
std::cout << "match: " << log_line << std::endl;
unsigned i;
for (i = 0; i < matches.size(); i++)
{
std::cout << "$" << i << ": " << std::string(matches[i].first, matches[i].second) << std::endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmVnZXg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbihpbnQgYXJndiwgY29uc3QgY2hhciogYXJnY1tdKQp7CiAgICByZWdleCBsb2dfbGluZV9yZWdleF8oIi4rXFxzKC4rKSQiKTsKICAgIGNoYXIqIGxvZ19saW5lID0gIjA2LTI5IDE4OjIwOjA4LjkzOCAxMDMxIDEwOTkgRCBXaWZpU3RhdGVNYWNoaW5lOiBwcm9jZXNzTXNnQ29ubmVjdCBvbyBNb2RlU3RhdGUiOwogICAgc21hdGNoIG1hdGNoZXM7IAogICAgaWYgKHJlZ2V4X21hdGNoKHN0ZDo6c3RyaW5nKGxvZ19saW5lKSwgbWF0Y2hlcywgbG9nX2xpbmVfcmVnZXhfKSkKICAgIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgIm1hdGNoOiAiIDw8IGxvZ19saW5lIDw8IHN0ZDo6ZW5kbDsKICAgICAgICB1bnNpZ25lZCBpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBtYXRjaGVzLnNpemUoKTsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgc3RkOjpjb3V0IDw8ICIkIiA8PCBpIDw8ICI6ICIgPDwgc3RkOjpzdHJpbmcobWF0Y2hlc1tpXS5maXJzdCwgbWF0Y2hlc1tpXS5zZWNvbmQpIDw8IHN0ZDo6ZW5kbDsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQ==