我用regex_match咆哮了下面的例子
string text("* @file my_file.c");
regex exp("\\s*\\*\\s*@file")
if(regex_match(text,exp,regex_constants::match_continuous))
//This doesn't work
我知道 regex_match 尝试将整个文本与正则表达式匹配,但据我读到here match_continuous 标志应该接受启动的子字符串在文本的开头。但是我的运气不顺利所以我不得不将我的解决方案转换为这个
string text("* @file my_file.c");
regex exp("^\\s*\\*\\s*@file")
if(regex_search(text,exp))
//This time works
我想问一下,我在第一个例子中做错了什么。我的环境是VS2010。
答案 0 :(得分:2)
match_continous
适用于regex_search
。
E.g。
std::regex_search(text, exp, std::regex_constants::match_continuous)