fork download
  1. #include <iostream>
  2. #include <regex>
  3. #include <string>
  4.  
  5. int main() {
  6. // Исходная строка для поиска
  7. setlocale(LC_ALL, "rus");
  8. std::string text = "Вот пример текста с разными словами: день, тень, конь, дверь , Дверь , стол, пень, мышь, книга.";
  9.  
  10. // Регулярное выражение: 4 любые кириллические буквы + мягкий знак, границы слов
  11. //std::regex pattern(R"([а-яА-Я]{4}ь)");
  12. std::regex pattern(R"([а-яА-Я]{3}ь)");
  13.  
  14.  
  15. // Объект для хранения результатов поиска
  16. std::smatch matches;
  17.  
  18. // Поиск всех вхождений
  19. auto words_begin = std::sregex_iterator(text.begin(), text.end(), pattern);
  20. auto words_end = std::sregex_iterator();
  21.  
  22. // Вывод результатов
  23. if (words_begin == words_end) {
  24. std::cout << "Слова из 5 букв с мягким знаком не найдены.\n";
  25. }
  26. else {
  27. std::cout << "Найденные слова:\n";
  28. for (std::sregex_iterator i = words_begin; i != words_end; ++i) {
  29. std::cout << i->str() << "\n";
  30. }
  31. }
  32.  
  33. return 0;
  34. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
Найденные слова:
�нь
�нь
�нь
�нь