в заголовок re2 это говорит
// C++ interface to the re2 regular-expression library.
// RE2 supports Perl-style regular expressions (with extensions like
// \d, \w, \s, ...).
Я заметил, что мой шаблон не работает, а затем \ w, похоже, не работает. вот мой код Почему это не работает?
#include <re2/re2.h>
#include <iostream>
int main(){
RE2::Arg s, i;
std::string sz("a or b");
RE2::Replace(&sz, "\w", "!");
std::cout << sz << std::endl;
}
Как отметил в своем комментарии Джонни Мопп, вы передаете буквальное \w
в строку, когда вы, вероятно, хотели передать выражение \w
, Таким образом, вам нужно использовать \\w
передать выражение.
На самом деле, в заголовок что вы связали себя, примеры все есть \\w
в строках.
Других решений пока нет …