C++. ** вход подается строка, содержащая знаки препинания и разделения, и строка,...

0 голосов
81 просмотров

C++. На вход подается строка, содержащая знаки препинания и разделения, и строка, содержащая паттерн поиска. Необходимо, используя паттерн поиска, вывести все слова из первой введенной строки, которые соответствуют второй.


Информатика (94 баллов) | 81 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

#include
#include
#include
using namespace std;

int main()
{
string s, pat;
getline(cin, s);
getline(cin, pat);
smatch sm;
regex p("\\b\\w*" + pat + "\\w*\\b");
cout << "Найдено: ";<br> while ( regex_search(s, sm, p) ) {
cout << sm[0] << ' ';<br> s = sm.suffix();
}
return 0;
}

(7.2k баллов)
0

Примеры работы:

Hello, llama world!
ll
Найдено: Hello llama

A4 is AAAA, B3 is BBB
[A-Z][0-9]
Найдено: A4 B3

0

Синтаксис регулярных выражений. Ознакомиться можно на сайте MSDN.