Из чтения FCD для regex_replace
(28.11.4) я могу только предположить , что функция также может использовать части исходной строки для замены? Я не могу проверитьэто с моим gcc, это правильно?
using namespace std;
regex rx{ R"((\d+)-(\d+))" }; // regex: (\d+)-(\d+)
cout << regex_replace("123-456", rx, "b: $2, a:$1");
// "b: 456, a:123"
Как видите, я предполагаю, что $1
и $2
относятся к "()" группам захвата (а не\1
и \2
, как и везде).
Обновление. Итак, я думаю, что это вопрос из двух частей
- Этоиспользование групп захвата в тексте замены вообще поддерживается?
- Синтаксис ECMAScript по умолчанию использует
$
n ? Или \
n ?