3
我目前正在研究Mac上的Qt C++應用程序。 在整個應用程序中,我使用的字符串模式匹配非常頻繁。 使用QRegExp類時,我一直遇到一些我只是不明白的東西!!!QRegExp只是不匹配!請告訴我我在做什麼錯
我QRegExp看起來是這樣的:
QRegExp regEx("M|F\\dS\\d\\d.C\\d\\d", Qt::CaseInsensitive);
它應該匹配諸如 「M1S02.C12」 或 「F4S14.C01」 文件名中的模式。 只要輸入的文件名應該匹配,這個模式就不會包含這個模式的一部分。
例如: 我的輸入文件被命名爲 「testItem_abcd_M1S03.C02_grade3」
regEx.exactMatch("testItem_abcd_M1S03.C02_grade3");
返回FALSE,而
regEx.indexIn("testItem_abcd_M1S03.C02_grade3");
返回圖7,這是在「項目的 「m」 的位置」。
有人可以告訴我,我需要做什麼才能使它匹配嗎?
由於提前, guitarflow
'[MF] ...'是寫這個字符類的正確方法。否則,文字'|'也將在這個位置匹配。 –
非常感謝!奇蹟般有效 !! – guitarflow
@Tim Pietzcker沒有想到...更新了陳述 –