我試圖找到像第label:
或start:
這樣的第一個字忽略空格。 標籤是在線路的第一字,然後冒號(:)正則表達式匹配第一個標籤:在線忽略空格
Label1:texttext
Label2: teeext
text NONLABEL:
我的代碼(QT C)是:
QRegExp("^\\s*([A-Za-z0-9]+:)");
但這也捕獲空間。
請幫忙。 弗羅林。
我試圖找到像第label:
或start:
這樣的第一個字忽略空格。 標籤是在線路的第一字,然後冒號(:)正則表達式匹配第一個標籤:在線忽略空格
Label1:texttext
Label2: teeext
text NONLABEL:
我的代碼(QT C)是:
QRegExp("^\\s*([A-Za-z0-9]+:)");
但這也捕獲空間。
請幫忙。 弗羅林。
您需要訪問第一個捕獲組
QRegExp grp("^\\s*([A-Za-z0-9]+:)");
QString captured = grp.cap(1);
<-------->
First capturing group
感謝您的快速幫助。可能有一個涉及(?=)Lookahead的解決方案?我問,因爲上述規則是我申請的許多規則之一。如果你使用'QString captured = grp.cap(1)',那麼我必須在任何地方使用它。 – Junior
@Junior嘗試'^(?= \ s *(\ w + :))' – rock321987
這是解決方案:
QRegExp("(?:^\\s*)([a-z0-9]+):", Qt::CaseInsensitive);
謝謝大家的幫助!
試試這個正則表達式https://regex101.com/r/qF7bQ9/1 – Kamran
@Kamran正則表達式很好..OP只是想忽略空格,如果它之前有這個詞 – rock321987
謝謝你幫助我。但是這個解決方案'^(\ S [A-Za-z0-9] + :)'沒有捕獲'Label2:'。 – Junior