【C++正则】如何一次将所有符合条件的字符串储存起来?

int main()  
{
    //正则表达式---
    regex AddrReg("RealAddress=\"(.+)\"");
    smatch retResult;
    string OriginalStr = "这里有上万个符合正则条件的字符串";

    string::const_iterator iterStart = OriginalStr.begin();
    string::const_iterator iterEnd = OriginalStr.end();

    //反复使用正则取出字符串,很耗时
    while (regex_search(iterStart, iterEnd, retResult, AddrReg))
    {
        cout << retResult[1] << endl;
        iterStart = retResult[1].second;
    }

    return 0;
}

↑这是我的代码
由于使用了上万次正则,导致速度变慢,能不能使用一次正则就把全部符合条件的放到是个数组里,代码怎么写?

https://www.cnblogs.com/yusenwu/p/5296835.html
用Regex Iterator
去掉cout << retResult[1] << endl;输出
不过,正则表达式本身就是很慢的,如果你已经优化,那么耗时还是在解析上。

如果你针对特定的模式匹配而不是通用,可以自己写匹配代码,用kmp+auto machine,比起通用的regular expression parser,专用的代码可以更快

顶一下楼层,来赐教赐教!!!