Особенности кириллицы в регулярках в C++
Большим преимуществом регулярок в C++
является то, что кириллические символы
входят в группу \w. Заменим
все латинские и кириллические буквы в
следующей строке:
std::string txt = "x232x 456 xax xтекстx"
std::regex re(R"(x[\\w]*x)");
std::string res = std::regex_replace(txt, re, "!");
std::cout << res << "\n";
Результат выполнения кода:
'! 456 ! !'
Также кириллические буквы можно искать с
помощью группы в квадратных скобках: [а-я].
Но с ней есть проблема - сюда не войдет
буква 'е'. Для ее включения нужно
дописать эту букву к группе:
std::regex re(R"(x[а-яе]*x)");
std::string res = std::regex_replace(txt, re, "!");
std::cout << res << "\n";
Результат выполнения кода:
'! 456 xax !'
Дана строка:
std::string txt = "wйw wяw wеw wqw"
Напишите регулярку, которая найдет строки
по шаблону: по краям стоят буквы
'w', а между ними - буква кириллицы.
Дана строка:
std::string txt = "ааа ббб еее ззз ййй ААА БББ ЁЁЁ ЗЗЗ ЙЙЙ"
Напишите регулярку, которая найдет все слова по шаблону: любая кириллическая буква любое количество раз.