私は正規表現を学ぼうとしています。私は、数百の *.png ファイルから QPixmap を生成する任務を負っています。理想的には、PixMap マトリックスになります。
QRegEx がこのアクションを実行するための最良の方法だと思うので、並べ替えることなくピックスマップをマトリックスに挿入できます。
私が一致させようとしている私のパターン:
runner_(int)_(int).png
最初の整数の境界は [-1, 13] で、2 番目の整数の境界は [00, 20] です。2 番目の整数の先頭にゼロがあります。
これは私のコードの試みです:
// 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 の初心者です (約 1 時間前に学習を開始しました!)
ありがとう :)