我正在尝试学习 RegEx。我的任务是从数百个 *.png 文件中生成 QPixmap。理想情况下,它将是一个 PixMap 矩阵。
我认为 QRegEx 是执行此操作的最佳方式,因此我可以将像素图插入矩阵而无需排序。
我试图匹配的模式:
runner_(int)_(int).png
其中第一个整数的边界为 [-1, 13],第二个整数的边界为 [00, 20]。第二个整数有一个前导零。
这是我的代码尝试:
// find the png files in the thing
QDir fileDir(iconPath);
QFileInfoList fileList = fileDir.entryInfoList();
QRegExp rxlen("runner_([^\\_]{1,1}])_([^\\_]{1,1}]).png");
foreach (const QFileInfo &info, fileList) {
qDebug() << info.fileName();
int pos = rxlen.indexIn(info.fileName());
if (pos > 1) {
qDebug() << rxlen.cap(1);
qDebug() << rxlen.cap(2);
} else {
qDebug() << "Didn't find any";
}
}
我的问题:请帮助使用 RegEx 表达式。
请温柔,我是 RegEx 的新手(大约一个小时前开始学习它!)
谢谢 :)