Группы символов внутри наборов в C++
Группы символов \d, \D,
\w, \W, \s, \S
внутри [] будут обозначать именно
группы, то есть по-прежнему будут командами.
В данном примере шаблон поиска выглядит
так: между иксами любая цифра, либо
буква от 'a' до 'f':
std::string txt = "xax xbx x1x x2x xhx x@x"
std::regex re(R"(x[\\da-f]x)");
std::string res = std::regex_replace(txt, re, "!");
std::cout << res << "\n";
Результат выполнения кода:
'! ! ! ! xhx x@x'
В данном примере шаблон поиска выглядит
так: буква 'x', затем не цифра,
не точка, и не маленькая латинская буква,
затем буква 'z':
std::string txt = "xaz x1z xAz x.z x@z"
std::regex re(R"(x[^\\d.a-z]z)");
std::string res = std::regex_replace(txt, re, "!");
std::cout << res << "\n";
Результат выполнения кода:
'xaz x1z ! x.z !'
Напишите регулярку, которая найдет строки
по шаблону: цифра или точка от 1
и более раз.
Напишите регулярку, которая найдет строки
по шаблону: не цифра и не буква от
'a' до 'g' от 3 до
7 раз.