使用Qt正则表达式提取全路径的文件名

问题描述:

               给定三个全路径,例如

             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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值