C++. На вход подается строка, содержащая знаки препинания и разделения, и строка, содержащая паттерн поиска. Необходимо, используя паттерн поиска, вывести все слова из первой введенной строки, которые соответствуют второй.
Answers & Comments
BrightOne
#include <iostream> #include <regex> #include <string> using namespace std;
Answers & Comments
#include <regex>
#include <string>
using namespace std;
int main()
{
string s, pat;
getline(cin, s);
getline(cin, pat);
smatch sm;
regex p("\\b\\w*" + pat + "\\w*\\b");
cout << "Найдено: ";
while ( regex_search(s, sm, p) ) {
cout << sm[0] << ' ';
s = sm.suffix();
}
return 0;
}
Hello, llama world!
ll
Найдено: Hello llama
A4 is AAAA, B3 is BBB
[A-Z][0-9]
Найдено: A4 B3