Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
InferernumDeus
7 / 7 / 1
Регистрация: 13.08.2012
Сообщений: 250
#1

C++ std::regex каким образом можно вывести все совпадения? - C++

18.12.2014, 13:44. Просмотров 754. Ответов 1
Метки нет (Все метки)

Работаю в Visual Studio 2012.
Каким образом я могу получить значения всех совпадений?
Ищу так:
C++
1
2
3
4
5
std::string input;
std::regex r("[0-9]+");
std::smatch m;
input = "hjfas5464sad11s2";
std::regex_search (input, m, r);
Собственно, для этой строки предполагается получить подстроки "5464", "11" и "2".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2014, 13:44     C++ std::regex каким образом можно вывести все совпадения?
Посмотрите здесь:

Visual C++ Каким образом можно сделать.
C++ Каким образом можно записать стек и очередь в дек
Каким образом можно осуществить загрузку файла из интернета по url ? C++
C++ std::regex и boost::regex
C++ Каким образом можно сделать выключение компютера С++
C++ Массив: каким образом можно изменить размер многомерного массива
Можно ли каким-то образом наследовать тип bool C++
C++ Каким образом еще можно передавать пакеты не используя recv и send?
Каким образом можно переписать ресурс, находящийся в DLL? C++ WinAPI
C++ Каким образом можно использовать регулярное выражение regex из .NET под С++
C++ WinAPI Каким образом можно получить доступ к запущеным службам?
Regex - получить все совпадения для группы Boost C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Max Dark
шКодер самоучка
1663 / 1464 / 530
Регистрация: 09.10.2013
Сообщений: 3,327
Записей в блоге: 8
Завершенные тесты: 2
18.12.2014, 16:03     C++ std::regex каким образом можно вывести все совпадения? #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <regex>
 
int main () {
    std::string s ("hjfas5464sad11s2");
    std::smatch m;
    std::regex e ("[0-9]+");
 
    while (std::regex_search (s,m,e)) {
        auto x = m.str();
        std::cout << x << " " << std::endl;
        s = m.suffix().str();
    }
 
    return 0;
}
оригинал примера
Yandex
Объявления
18.12.2014, 16:03     C++ std::regex каким образом можно вывести все совпадения?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru