如何使用RE2获取任意数量的捕获?

时间:2019-09-11 05:28:08

标签: regex re2

我正在尝试使用RE2解析由任意数量的文件夹形成的路径。我想将路径分解为文件夹名称

所以,如果我有“ / folderA / folderB”,我想获取字符串[“ / folderA”,“ / folderB”]的列表,

我的代码:

RE2 re("(/[a-z0-9]+)+");
if(re.ok()){

    std::cout << "debug: "<<re.NumberOfCapturingGroups()<<std::endl;

};  

RE2::FullMatch("/ggg/uuu", re, &s1);
RE2::FullMatch("/ggg/uuu", re, &s1, &s2); //error,
// because NumberOfCapturingGroups is 1, not infinity,

并且我只能通过FullMatch函数调用获得“ / uuu”。我找不到任何有关如何正确执行此操作的示例?

其他正则表达式库将允许通过索引访问所有捕获,但是我在RE2中找不到相同的功能?

0 个答案:

没有答案