QRegExp非捕获括号

时间:2013-05-05 20:16:54

标签: c++ regex qt

我正试图从这段文字中提取“246”:

Responsible: John Doe
Number: 246
Date: 24-12-2005

使用QRegExp,模式:

(?:Number: )\d+

我希望得到:

246

但我得到了:

Number: 246

我正在努力避免捕获群组。

2 个答案:

答案 0 :(得分:2)

您可能需要像Number: (\d+)这样的正则表达式 - 这将明确捕获组1中的数字,您可以使用cap(1)返回。 cap(0)将返回整个匹配,包括(?:Number: )等任何非捕获组。

答案 1 :(得分:1)

你可以试试这个:

(?=Number: (\d+))

在这种情况下,整个模式不匹配,因为它嵌入在零长度前瞻中,唯一的结果是捕获组