从 re2 Arg 中获取匹配的数据
Get matched data out of re2 Arg
我正在尝试使用 re2,但当正则表达式中的匹配数在运行时确定时,我看不到如何从 RE2::Arg[] 中获取匹配的数据。
我有这样的东西:
const RE2::Arg *args[10] = {};
int n = 0;
if (RE2::ConsumeN(_content.get(), rule.first, args, n)) {
int consumed = _content->data() - start;
//...stuff
}
如果我的正则表达式是"(foo)|(bar)" args[0] 和 args[1] 应该分别是 foo 和 bar 吧?
如何从 args[0] 等获取匹配的字符串...?
IIRC RE2::ConsumeN 修改其第一个参数,因此您可以在循环中调用以获取后续匹配项。
尝试这样的事情:
RE2::StringPiece input(_content.get());
while (RE2::ConsumeN(&input, rule.first, args, n)) {
// do your stuff
}
另请参阅查找 FindAndConsumptionN 如果您正在搜索匹配项,而不是匹配的前缀。
相关文章:
- 尝试通过OCI例程从Oracle获取blob数据,但出现错误:ORA-01008:并非所有变量都绑定
- 如何在 C++ 中获取中继器的委托数据?
- 从 Rcpp Catch 测试中获取有关"inst/extdata"的数据
- C++ - 忽略并从其他文件获取数据
- 如何获取C++字符数据类型的地址
- 从存储为 Windows 资源 (c++) 的 png 中获取 png 文件数据
- 很好的语法来获取对向量/数组数据的大小引用?
- 如何从网站获取数据并将其传输到数据库?
- 获取文件数据预处理器宏
- 与多个 for 循环与单个 for 循环 wrt 相关的性能从多映射获取数据
- 如何在新的派生对象中获取基本对象的数据?
- 如何从 CSV 获取数据并将其存储在 C++ 中的表对象中
- 如何使用CAPL的诊断功能获取CAN传输的数据(256字节)?
- 获取 R 数据帧的内存地址
- 当 c++ 需要一种数据类型并获取另一种数据类型时会发生什么?
- 从更改日志获取最新的 USN 数据
- 套接字:在没有memcpy的情况下,使用recvfrom将UDP数据获取到字对齐的缓冲区
- 如何将控制台输出数据获取到命令提示符下
- 将零mq消息数据获取到std::vector<char>
- 从指定坐标[x, y]处的位图数据获取像素颜色