Cześć, próbuję napisać kod, który mi wyciągnie z danego tekstu adresy URL. Sprawdzałem różne wyrażenia z internetu i niestety one nie działają pod biblioteką <regex>. Co zrobić, aby ten kod działał?
#include <iostream>
#include <string>
#include <regex>
using namespace std;
int main()
{
string napis="http://www.google.pl test123456789 https://www.x.com abccdeffff";
smatch wynik;
//regex wyr("https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)");
regex wyr("^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$");
while(regex_search(napis, wynik, wyr))
{
for(auto i:wynik) cout<<i<<" ";
cout<<"\n";
napis = wynik.suffix().str();
}
return 0;
}