我需要匹配如下字符串:
但两者都是“1”。和“XXX”突出显示,我正在使用以下正则表达式:
QRegExp(“^ \ s +(\ d + \。)?\ s + \ b [A-Z] {2,} \ b”)
在这种情况下,如何仅突出显示XXX?
非常感谢!
答案 0 :(得分:2)
你的正则表达式应该是这样的:
QRegExp ("^\s+(\d+\.)?\s+(\b[A-Z]{2,}\b)")
因此您可以在正则表达式中捕获XXX。然后,使用capturedTexts()
检索所有匹配项。您所追求的字符串应该是最后一个索引,因为第一个项目是匹配的整个字符串,第二个字符串将是数字和点(如果找到)或字符串XXX。如果存在数字,则XXX将位于第三个字符串中。
有了这个,你可以在原来的子串中找到这个子串的索引来设置你的突出显示。