Обратные ссылки

К найденному фрагменту в круглых скобках внутри шаблона можно обратиться с помощью механизма обратных ссылок. Для этого порядковый номер круглых скобок в шаблоне указывается после слэша — например, \1. Нумерация скобок внутри шаблона начинается с 1. Для примера получим текст между одинаковыми парными тегами:

std::regex rgx("<([a-zA-Z]+)[^>]*?>([\\s\\S]*?)</\\1>");
std::string str("<b>Text1</b>Text2<I>Text3</I>");
std::sregex_iterator istart(str.begin(), str.end(), rgx);
std::sregex_iterator iend;
std::smatch m;
while (istart != iend) {
   m = *istart;
   for (size_t i = 1, size = m.size(); i < size; ++i) {
      std::cout << m.str(i) << ' ';
   }
   std::cout << std::endl;
   ++istart;
}

Результат:

b Text1 
I Text3 

Учебник C++ (MinGW-W64)
Учебник C++ (MinGW-W64) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов