我想從這個文本中提取 「246」:QRegExp非捕獲括號
Responsible: John Doe
Number: 246
Date: 24-12-2005
使用QRegExp,模式:
(?:Number:)\d+
我有望獲得:
246
但是我得到了:
Number: 246
我試圖避免捕獲組。
我想從這個文本中提取 「246」:QRegExp非捕獲括號
Responsible: John Doe
Number: 246
Date: 24-12-2005
使用QRegExp,模式:
(?:Number:)\d+
我有望獲得:
246
但是我得到了:
Number: 246
我試圖避免捕獲組。
您可能需要像Number: (\d+)
這樣的正則表達式 - 它將明確捕獲組1中的數字,您可以使用cap(1)
獲取這些數字。 cap(0)
將返回整個比賽,包括任何非捕獲組,如(?:Number:)
。
你可以試試這個:
(?=Number: (\d+))
在這種情況下,因爲它是嵌入在一個零長度前瞻整個模式不匹配,唯一的結果就是捕獲組
QRegExp不支持\ K。 :( – TheVTM 2013-05-05 20:51:38
@TheVTM:你說得對,我會更新我的文章 – 2013-05-05 20:58:42
請出示片段您用來打印的代碼。輸出是整個比賽,你可能沒有使用正確的功能。 – Mat 2013-05-05 20:18:48
我正在使用QRegExp :: cap()。 – TheVTM 2013-05-05 20:39:16