读入一行字符串,正则遍历找出符合要求的子串,压入栈,输出(出栈)直到栈空。

#include <iostream>
#include <string>
#include <regex>
#include <stack>
using namespace std;
int main ()
{
    string str; 
    stack<string> tmp;
    getline(cin,str);
    regex regstring("[A-Za-z]+");
    for(sregex_iterator it(str.begin(),str.end(),regstring),it_end; it!=it_end; ++it)    
    {
        tmp.push(it -> str());   //将符合要求的字符串压入栈 
    }
    while(!tmp.empty())
    {
        cout<<tmp.top()<<' '; //栈反向输出
        tmp.pop();  //pop-1 
    }
    return 0;
}