问题描述:
给定三个全路径,例如
path1="C:/Users/asus/Desktop/nefertiti_4465.obj";
path2="C:/Users/asus/Desktop/nefertiti_4465_k1.txt";
path3="C:/Users/asus/Desktop/nefertiti_4465_k2.txt";
我希望说明path2和path3的文件和path1的文件是一类文件。
解决方案:
1.提取全路径的文件名,并构造新的正则表达式
QRegExp rx1("([^/]+)\\..+");
QString filename="C:/Users/asus/Desktop/nefertiti_4465.obj";//filename包含全路径,
int pos=rx1.indexIn(fileName);
assert(pos!=-1);
QString simple_filename=rx1.cap(1)+"_k[1-2]"; //simple_filename不包含路径,nefertiti_4465_k1或者nefertiti_4465_k2
QString pattern=(simple_filename)+"\\..+"; //构造新的正则表达式,例如:匹配nefertiti_4465_k1.txt或者nefertiti_4465_k2.txt
QRegExp rx2(pattern);