#include "regexextract.h" #include RegexExtract::RegexExtract() { } bool RegexExtract::endsWith(const QString& line,const QString& eleName) { QString t=line.trimmed(); return t.startsWith(QString("")); } void RegexExtract::exportBlocks(const QString& path) { QFile file(path); std::cout<<"writing..."<blocks.begin(); ite!=this->blocks.end(); ite++) { writer<<*ite; } file.close(); } } bool RegexExtract::extract(const QString& xmlPath) { QFile file(xmlPath); QString line; QString block; bool isInner=false; int lineNum=0; if(file.open(QFile::ReadOnly)) { QTextStream reader(&file); while(!reader.atEnd()) { line=reader.readLine(); lineNum++; if(lineNum%100000==0) { std::cout<startsWith(line,"SynchronousMachine")) { block=""; isInner=true; } if(isInner) { block=block+line+QString("\n"); } if(isInner && this->endsWith(line,"SynchronousMachine")) { isInner=false; this->blocks.push_back(block); // std::cout<