字符串中提取三个有科学计数法的数字(用c++)

字符串的内容
G01 2021 12 14 00 00 00 4.847967065871E-04-1.023181539495E-11 0.000000000000E+00

该回答引用GPT:

#include <regex>
#include <string>
#include <iostream>

int main()
{
    std::string str = "G01 2021 12 14 00 00 00 4.847967065871E-04-1.023181539495E-11 0.000000000000E+00";
    std::regex pattern("[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)");
    std::smatch result;
    int count = 0;
    while (std::regex_search(str, result, pattern))
    {
        std::cout << result[0] << std::endl;
        count++;
        if (count == 3)
            break;
        str = result.suffix().str();
    }
    return 0;
}

上面的代码可以从字符串中提取出三个有科学计数法的数字。
如还有疑问,可留言帮助解决。