В настоящее время я работаю над приложением Qt C ++ для Mac.Во всем приложении я использую сопоставление с образцом строки довольно часто.При использовании класса 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» в «item».
Может кто-нибудь сказать, что мне нужно сделать, чтобы сделатьэто соответствует правильно?
Заранее спасибо, гитара Flowflow