Я хочу извлечь некоторый текст из следующего HTML-кода в «Qt / C ++» с помощью QRegExp
,
<TABLE border="0" width="99%">
<COLGROUP><COL width="100"><COL>
<TR>
<TD align="center" valign="middle" bgcolor="#EEEEFF"><B> MCT-to-KR</B>
<TD align="center" valign="middle" bgcolor="#EEEEFF"><FONT class="result">THIS IS THE TEXT WHICH I WANT TO FETCH</FONT>
<TR>
<TD align="center" valign="middle" bgcolor="#DDDDEE">Normalized
<TD align="center" valign="middle" bgcolor="#DDDDEE">[AL-LYA-A]
<TR>
<TD align="center" valign="middle" bgcolor="#CCCCDD">Web Unicode
<TD align="center" valign="middle" bgcolor="#CCCCDD">ANOTHER TEXT I MIGHT BE INTERESTED IN, BUT WOULD BE EASY TO GET IF THE FIRST IS DONE
</TABLE>
В C # .Net Я мог бы сделать это так:
private Regex txtExtractor = new Regex(@"<FONT class=""result"">(.*?)</FONT>");
Я устал с этим QRegExp
но не сработало, так как мне отредактировать его, чтобы оно работало?
QRegExp regex("<FONT class=\"result\">(.*)</FONT>");
regex.indexIn(html);
QString textYouWant = regex.cap(1);
QRegularExpression regex("<FONT class=\"result\">(.*)</FONT>");
QRegularExpressionMatch match = regex.match(html);
QString textYouWant = match.captured(1);
Я рекомендую использовать QRegularExpression
если вы используете Qt 5. Это API немного лучше.