QRegExp:搜索不包含其他模式的模式

时间:2014-12-10 08:20:54

标签: c++ regex qt

我正在尝试搜索以下模式: <b>.+</b>$

但此模式不得包含<b>标记。

给出以下示例: abba <b>acba</b> <b>adba</b>

如果我使用上一个模式,结果是: <b>acba</b> <b>adba</b>

但是我想要的好结果是: <b>adba</b>

因为我想在两个<b><b>边框标记之间禁用</b>标记。

那么,我该怎么做?

我使用QRegExp和我用c ++语言编写代码。

提前感谢您的帮助,

FLOREAL。

2 个答案:

答案 0 :(得分:2)

请参阅:QRegExp::setMinimal ( bool minimal )

只需将QRegExp setMinimal属性设置为true即可。例如。 :

QRegExp regExp;
regExp.setMiminal(true);
// use your reg exp

这将解决您的疑问。

答案 1 :(得分:0)

您可以使用not flag:

QRegExp rx("\\<b\\>[^\\<b\\>]+\\</b\\>");