Ваше регулярное выражение должно быть примерно таким:
QRegExp ("^\s+(\d+\.)?\s+(\b[A-Z]{2,}\b)")
, чтобы вы могли захватить XXX в своем регулярном выражении. Затем вы получаете все совпадения, используя capturedTexts()
. Строка, которую вы ищете, должна быть последним индексом, поскольку первый элемент - это вся строка, которая соответствует, второй - число и точка, если она найдена, или строка XXX. Если число присутствует, XXX будет в третьей строке.
Имея это, вы можете найти индекс этой подстроки внутри исходной, чтобы настроить подсветку.