C++. На вход подается строка, содержащая знаки препинания и разделения, и строка, содержащая паттерн поиска. Необходимо, используя паттерн поиска, вывести все слова из первой введенной строки, которые соответствуют второй.
#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; }
Примеры работы: Hello, llama world! ll Найдено: Hello llama A4 is AAAA, B3 is BBB [A-Z][0-9] Найдено: A4 B3
Синтаксис регулярных выражений. Ознакомиться можно на сайте MSDN.