在C ++中,我试图匹配这个字符串。 " CREATE = NO \ nBOB = HI"在=符号后抓取内容,它不会抓取字符。当我运行我的程序时,它只会抓取第一个匹配的NO。
匹配[0] = CREATE = NO
匹配[1] =否
但是为了抓住BOB = HI,它甚至不匹配它。这是我的代码。
int main() {
std::string parse = "CREATE=NO\nBOB=HI";
std::cout << parse << std::endl;
std::string regexp = "\\w+=(\\w+)";
std::smatch matches;
std::regex regex(regexp);
std::regex_search(parse, matches, regex);
std::cout << "The size is " << matches.size() << std::endl;
for (unsigned int i = 0; i < matches.size(); i++) {
std::cout << "Matches " << i << ": " << matches[i] << std::endl;
}
std::cin.get();
}
我试图做的是获得NO和HI,但它只获得NO