C++ C+中的多行正则表达式+;

C++ C+中的多行正则表达式+;,c++,regex,multilinestring,C++,Regex,Multilinestring,实际上,我尝试在多行字符串中查找正则表达式,但我认为在新行(等于“\n”)之后查找下一个正则表达式的方法是错误的。这是我的正则表达式: #include <iostream> #include <fstream> #include <sstream> #include <regex> #define USE ".*[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}.*(?:\\n)*" in

实际上,我尝试在多行字符串中查找正则表达式,但我认为在新行(等于“\n”)之后查找下一个正则表达式的方法是错误的。这是我的正则表达式:

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

#define USE ".*[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}.*(?:\\n)*"

int                     main(int argc, char **argv)
{
  std::stringstream     stream;
  std::filebuf          *buffer;
  std::fstream          fs;
  std::string           str;
  std::regex            regex(USE);

  if (argc != 2)
    {
      std::cerr << "Think to the use !" << std::endl;
      return (-1);
    }
  fs.open(argv[1]);
  if (fs)
    {
      stream << (buffer = fs.rdbuf());
      str = stream.str();
      if (std::regex_match(str, regex))
        std::cout << "Yes" << std::endl;
      else
        std::cout << "No" << std::endl;
      fs.close();
    }
  return (0);
}
#包括
#包括
#包括
#包括
#定义使用“*[0-9]{2}\\.[0-9]{2}\.[0-9]{2}\.[0-9]{2}\.[0-9]{2}.*(:\\n)*”
int main(int argc,字符**argv)
{
std::stringstream;
std::filebuf*缓冲区;
std::fstream fs;
std::字符串str;
标准::regex regex(使用);
如果(argc!=2)
{

std::cerr在构造regex对象时可以指定一些标志,请参见 有关详细信息,请参阅文档

使用regex::extended标志的简短工作示例,其中在搜索中指定换行符“\n”:

#include <iostream>
#include <regex>

int main(int argc, char **argv)
{
  std::string str = "Hello, world! \n This is new line 2 \n and last one 3.";
  std::string regex = ".*2.*\n.*3.*";
  std::regex reg(regex, std::regex::extended);

  std::cout << "Input: " << str << std::endl;

  if(std::regex_match(str, reg))
    std::cout << "Match" << std::endl;
  else
    std::cout << "NOT match" << std::endl;

  return 0;
}
#包括
#包括
int main(int argc,字符**argv)
{
std::string str=“你好,世界!\n这是新行2\n和最后一行3。”;
std::string regex=“*2.*\n.*3.*”;
std::regex reg(regex,std::regex::extended);

std::很抱歉,代码没有很好地阐明您试图实现的目标。请解释要求,提供示例文本和预期输出。@WiktorStribiżew,我试图打开一个文本文件,读取字符串中的内部字符和库存字符,并在字符串上使用正则表达式来查找类似于正则表达式的数字,但我无法解析多行。这就是我的问题。你能提供一个?@WiktorStribiżew,我将尝试发布一个简单的示例。