Cześć,
mam taki kod:
#include <string>
#include <regex>
#include <iostream>
using namespace std;
int main()
{
string line = "19576 1028 16651 198814 4 5050 6894 0 0 0";
regex regexp("(\\d+) (\\d+) (\\d+) (\\d+) (\\d+) (\\d+) (\\d+) (\\d+) (\\d+) (\\d+)");
smatch m;
regex_search(line, m, regexp);
cout << "match size: " << m.size() << endl;
for (auto i = 0u; i < m.size(); ++i)
cout << m.str(i) << " ";
return 0;
}
Powyższy kod daje output:
match size: 11
19576 1028 16651 198814 4 5050 6894 0 0 0 19576 1028 16651 198814 4 5050 6894 0 0 0
Czy ktoś mi może wytłumaczyć:
- Czemu tych liczb w outpucie jest więcej niż 11?
- Jak z powyższego wejścia po prostu odczytać te dziesięć liczb bez żadnych błędów i powtórzeń?
Pozdro!