2017-03-15 30 views
-1

我想在Qt來建立一個正則表達式以下字符串集:定期排除一些特定的字符表達

在組可以包含所有設定長度1的字符串不包括rz

該組還包括設定長度比1,這與z開始更大的字符串,後跟任意數量的z's,但必須以單個字符不是rz

到目前爲止,我有終止開發了以下內容:

[a-qs-y]?|z+[a-qs-y] 

但它不起作用。任何見解,將不勝感激。

回答

0

在正則表達式的問號使得第一替代或者匹配長度爲1的小寫字符串不包括r和z或空字符串,並作爲空字符串可以在任何串內匹配,則第二替代永遠不會匹配。你的正則表達式的其餘部分與你的規範相匹配,儘管你可能想讓你的正則表達式只通過錨定匹配整個字符串:

QRegularExpression re("^[a-qs-y]$|^z+[a-qs-y]$"); 
QRegularExpressionMatch match = re.match("zzza"); 
if (match.hasMatch()) { 
    QString matched = match.captured(0); 
    // ... 
} 
相關問題