0

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] などから一致する文字列を取得するにはどうすればよいですか?

4

1 に答える 1