boost :: xpressive查看序列的开头

时间:2012-04-11 21:13:07

标签: c++ regex boost boost-xpressive

我正在使用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语句吗?

谢谢! 阿霞

1 个答案:

答案 0 :(得分:3)

使用regex_search代替regex_match

以下是rex1的静态xpressive语法:

bos >> +as_xpr('#');