В моем выражении regex_replace используется группа $1 прямо перед символом '0' в заменяющей строке:
#include <iostream>
#include <string>
#include <regex>
using namespace std;
int main() {
regex regex_a( "(.*)bar(.*)" );
cout << regex_replace( "foobar0x1", regex_a, "$10xNUM" ) << endl;
cout << regex_replace( "foobar0x1", regex_a, "$1 0xNUM" ) << endl;
}
Вывод:
xNUM
foo 0xNUM
Я пытаюсь получить вывод foo0xNUM
без промежуточных пробелов.
Как защитить имя группы $1 от следующего символа в строке подстановки?