Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpRgSSE 13 of 696 menu
◀ ▶

Спецсимволы-исключения внутри наборов в C++

Вы уже знаете, что спецсимволы внутри [] становятся обычными символами. Есть, однако, исключения: если вам нужны квадратные скобки как символы внутри [ ] - то их нужно экранировать обратным слешем. Для примера в следующем коде шаблон поиска выглядит так: между иксами стоит квадратная скобка:

std::string txt = "x]x xax x[x x1x" std::regex re(R"(x[\\[\\]]x)"); std::string res = std::regex_replace(txt, re, "!"); std::cout << res << "\n";

В результате в переменную запишется следующее:

'! xax ! x1x'

Дана строка:

std::string txt = "x[]z x[[]]z x()z"

Напишите регулярку, которая найдет все слова по шаблону: буква 'x', затем квадратные скобки любое количество раз, затем буква 'z'.

Дана строка:

std::string txt = "x[]z x{}z x.z x()z x([])z"

Напишите регулярку, которая найдет все слова по шаблону: буква 'x', затем любое количество любых скобок, затем буква 'z'.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить