3

我正在使用 boost::xpressive 来解析我的文本文件。我想看看是否只有当行以“#”开头时(多次)。

我正在使用以下代码

std::string str1 = "## this could be my line";
sregex rex1 = sregex::compile("^#+");
smatch result1;
if(regex_match(str1,result1,rex1){
    std::cout << result1[0] << '\n';
}else{
std::cout << "match not found!\n";
}

但我总是得到“找不到匹配!”,即使行以#开头。有人能帮我一下吗?

顺便说一句,任何人都可以帮助我使用 boost::xpressive 'bos' 编写 rex1 语句吗?

谢谢!阿耶莎

4

1 回答 1

3

使用regex_search而不是regex_match.

这里是静态的 xpressive 语法rex1

bos >> +as_xpr('#');
于 2012-04-11T21:16:11.803 回答