在C ++中解析HTML的最简单方法

时间:2014-10-28 16:13:31

标签: html c++ regex c++11

我使用curl获取HTML文档。从这份文件中,我想得到这个名字&任何输入字段的值。

然而,经过多次尝试,我的C ++正则表达式仍然无效,我开始失去希望。

我使用的是使用c++11 regex

的默认ECMAScript syntax

这是我的代码

void    regexFind(std::string &str)
{
  std::string   regex = "value=\"(.*)\"";
  std::smatch   m;
  std::regex    e(regex);

  if (std::regex_search(str, m, e))
    {
      std::cout << m[0] << std::endl;
    }
  else
     std::cout << "No match" << std::endl;
}

void    htmlRegexTest()
{
  std::string   str;

  str = "<div><input name=\"somteTest\" type=\"hidden\" value=\"&#x2713;\" /></div>";
  regexFind(str);
}

所以基本上,我尝试了许多正则表达式,但无法匹配。

我不确定regexp是解决这个问题的更好方法,所以如果你有一个比正则表达式更好的解决方案,它也会很棒。

提前感谢您的帮助。

- 编辑 -

好的,似乎使用正则表达式来解析HTML是一个糟糕的解决方案。所以稍微改变一下我的问题,在c ++中解析HTML的最佳解决方案(也称为最简单)是什么?

0 个答案:

没有答案