C ++ std :: regex_search()不返回任何内容

时间:2018-04-10 16:12:17

标签: c++ regex

我正在尝试在C ++中使用正则表达式,以便从文件中获取一些有趣的信息。但由于某种原因,std :: regex_search()函数不会从字符串返回任何内容。即使我使用正则表达式来读取整行,它也不会返回任何内容。

这是我的代码:

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <regex>

int main()
{
    std::ifstream infile;
    std::regex ex("\(.*\)");
    std::string s;
    std::smatch result;
    infile.open("thefile.txt");

    if(infile.is_open())
    {
        std::string line;

        while (std::getline(infile, line))
        {
            std::cout<<line<<std::endl;
            std::regex_search(s, result, ex);
            for (auto x:result) std::cout << x << " ";
        }

        infile.close();
    }
    else
        std::cout<<"FAIL\n";

    return 0;
}

我逐行读取文件并将所有内容写到我使用regex_search()函数的字符串上。该文件如下所示:

0cup,0aup,+,0,(0,0,0,0),(0,0,0,0);

0cdown,0adown,+,0,(0,0,0,0),(0,0,0,0);

我不知道,我做错了什么。我正在使用的正则表达式适用于Python。

0 个答案:

没有答案