0

假设我有一个这样的字符串:

<span class='hi'>Blah <span class='bye'> is here </span> and here</span>

我想在第 7 个字符的字符串中获取索引,该字符串不是 HTML 标记(“i”)的一部分。我知道我可以通过拆分和迭代块来做到这一点,但我想知道是否有一个 QRegExp 可以用来做到这一点。我尝试了一堆使用 regexp.indexIn() 运行的东西:

QRegExp r("[^<](?!>)"); // Matches index 1 
QRegExp r("[^<](?![^>])"); // Matches index 15 (the ' within the first span)
QRegExp r("[^<](.){7}(?!>)"); // Matches index 1
QRegExp r("^<.>[^<](?!>).{7}"); // Gives me -1

是否有一个正则表达式可以做到这一点(一般)?

4

1 回答 1

0

rx通常认为使用正则表达式解析 HTML 不是一个好主意,但很多人都这样做。您可以尝试替换吗?

QRegExp rx("<[^>]*>");
QString example = "<span class='hi'>Blah <span class='bye'> is here </span> and here</span>";
example.replace(rx, "");

然后找到第 7 个字符?使用:

example.at(7);
于 2014-02-13T13:26:43.333 回答