我想在" Qt / C ++ "中提取以下HTML代码中的一些文字。使用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
累了,但没有用,所以我应该如何编辑才能使其正常工作?
答案 0 :(得分:2)
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);
如果您使用Qt 5,我建议您使用QRegularExpression
。它的API更好一点。