我使用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=\"✓\" /></div>";
regexFind(str);
}
所以基本上,我尝试了许多正则表达式,但无法匹配。
我不确定regexp是解决这个问题的更好方法,所以如果你有一个比正则表达式更好的解决方案,它也会很棒。
提前感谢您的帮助。
好的,似乎使用正则表达式来解析HTML是一个糟糕的解决方案。所以稍微改变一下我的问题,在c ++中解析HTML的最佳解决方案(也称为最简单)是什么?