Допустим, у меня есть строка, например, как это:QRegExp найти п-й символ не в HTML-тег
<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
Есть регулярное выражение, которое может сделать это (обобщенно)?
Yeh, я понимаю, что это не идеально, но это намного меньше вычислительной работы, чем разбора DOM или что-то подобное (или это?). Проблема в том, что я хочу вставить пролет в определенную точку, поэтому нам пришлось бы вернуть все эти удаленные промежутки назад. Поэтому я надеялся, что regexp по существу переведёт в индекс, чтобы в этот момент я мог пробить промежуток. Я также могу использовать цикл для этого. – gremwell