Chciałem napisać proste wyrażenie regularne, które będzie sprawdzało, czy ciąg znaków pasuje do np. photoIDa, gdzie ID moze być dowolną liczbą podaną przez użytkownika, a napis zawsze konczy sie jakas litera [a-z] (To i tylko to wiem jak zrobic -.-). Ja mam nazwy np. takie: plikIDa, plikIDb, plikIDc, gdzie ID podaje user. Teraz, jak z takich nazw wyłuskać tylko te z danym ID? (Gdzie ID moze sie jakby dynamicznie zmieniac, w zaleznosci od tego, co poda user). Dla kodu poniżej będzie to mniej więcej tak:
#include <QtGui/QApplication>
#include <QString>
#include <QDebug>
#include <QRegExp>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
int id;
cout << "Podaj ID:\n";
cin >> id;
QString n1 = "plik1a";
QString n2 = "plik11a";
QString n3 = "plik123b";
bool ok = false;
QRegExp exp("[a-z]$");
ok = exp.exactMatch(n1);
cout << "Pierwsze : " << ok;
ok = exp.exactMatch(n2);
cout << "Drugie: " << ok;
ok = exp.exactMatch(n3);
cout << "Trzecie: " << ok;
return a.exec();
}
Tylko jak zapisac takie "dynamiczne" wyrazenie? (Dla kodu ponizej, jesli podamy ID == 1) tylko dla n1 powinno byc true ...