如何使用FSCANF提取HTML

How can I extract html with fscanf

本文关键字:HTML 提取 FSCANF 何使用      更新时间:2023-10-16

我有一个文件,每行持有a。

<div style="random properties" id="keyword1:string id:int">text</div>
<div style="random properties" id="keyword1:string id:int">text</div>
<div style="random properties" id="keyword2:string id:int">text</div>
<div style="random properties" id="keyword2:string id:int">text</div>

我可以使用fscanf返回匹配的keyword1和keyword2的文本和ID列表?

您可以简单地使用Regex读取它:

std::string s;
std::regex r( "<div style="[^"]*" id=".*(\d+)">((?:(?!</div>).)*)</div>" );
while( std::getline(in, s) ) {
    std::smatch m;
    if( std::regex_match(s, m, r) ) {
        std::cout << "id = " << m.str(1) << ", text = " << m.str(2) << std::endl;
    } else {
        std::cout << "invalid pattern" << std::endl;
    }
}

但是,如果您想了解更多有关regex的信息