Вот мой код:
std::string captured;
if (RE2::PartialMatch("a b--b c", "(?:a b(?P<Contents>[^b]+)b)?", &captured)) {
printf("match: %s\n", captured.c_str());
}
Это печатает:
match: --
Как и ожидалось. Затем я изменяю первый аргумент на «a b — b c» (пробел добавляется в начале). Теперь он печатает:
match:
Неправильный матч. Это ошибка или ожидаемое поведение?
Спасибо.
Задача ещё не решена.
Других решений пока нет …