Warunkowo zastąp dopasowania wyrażenia regularnego w ciągu

Próbuję zastąpić niektóre wzory w sznurku różnymi wzorami zastępczymi.

Przykład:

string test = "test replacing \"these characters\"";

Co chcę zrobić, to zastąpić wszystkie '' '' i 'innymi znakami nie będącymi literami lub cyframi pustym łańcuchem. Mam następujące wyrażenie regularne, które wydaje się poprawnie tokenizować, ale nie jestem pewien, jak (jeśli to możliwe) wykonać warunkowe zastąpienie za pomocąregex_replace.

string test = "test replacing \"these characters\"";
regex reg("(\\s+)|(\\W+)");

oczekiwanym wynikiem po wymianie będzie:

string result = "test_replacing_these_characters";

EDYTUJ: Nie mogę użyć wzmocnienia, dlatego zostawiłem go poza tagami. Więc proszę nie odpowiadać, w tym zwiększyć. Muszę to zrobić za pomocą standardowej biblioteki. Być może inny regex osiągnąłby cel lub utknąłem w dwóch przejściach.

EDIT2: Nie pamiętam, jakie postacie zostały uwzględnione\w w czasie mojego oryginalnego wyrażenia regularnego po zapoznaniu się z nim jeszcze bardziej uprościłem wyrażenie. Ponownie celem jest, aby cokolwiek pasującego do s + zostało zastąpione przez „_”, a wszystko pasujące do W + powinno zostać zastąpione pustym łańcuchem.

questionAnswers(1)

yourAnswerToTheQuestion