hyperion.ng/test/TestQRegExp.cpp
LordGrey 25d79a9f3f
Qt6 support (#1363)
* Initial Qt6 config

* Change Package order to reingfence missing packages

* Update to QT 6.2.0

* Qt 6.2.0 updates

* macOS fix

* Simplify handling QT5 & Qt6 in parallel

* Updates for Windows

* Fix macos build

* macOS linker fix

* General support of QTDIR, update docu

* MaxOS add default qt directories

* Fix merge typo

* Update default CMakeSettings.json with installation path options

* Add additional libs required by Qt6 to CompileHowTo

* Fix Qt5 items

Co-authored-by: Paulchen-Panther <16664240+Paulchen-Panther@users.noreply.github.com>
2021-11-16 18:12:56 +01:00

51 lines
1.8 KiB
C++

// STL includes
#include <iostream>
// QT includes
#include <QRegularExpression>
#include <QString>
#include <QStringList>
int main()
{
QString testString = "1-9, 11, 12,13,16-17";
QRegularExpression overallExp("([0-9]+(\\-[0-9]+)?)(,[ ]*([0-9]+(\\-[0-9]+)?))*");
{
std::cout << "[1] Match found: " << (overallExp.match("5").hasMatch()?"true":"false") << std::endl;
std::cout << "[1] Match found: " << (overallExp.match("4-").hasMatch()?"true":"false") << std::endl;
std::cout << "[1] Match found: " << (overallExp.match("-4").hasMatch()?"true":"false") << std::endl;
std::cout << "[1] Match found: " << (overallExp.match("3-9").hasMatch()?"true":"false") << std::endl;
std::cout << "[1] Match found: " << (overallExp.match("1-90").hasMatch()?"true":"false") << std::endl;
std::cout << "[1] Match found: " << (overallExp.match("1-90,100").hasMatch()?"true":"false") << std::endl;
std::cout << "[1] Match found: " << (overallExp.match("1-90, 100").hasMatch()?"true":"false") << std::endl;
std::cout << "[1] Match found: " << (overallExp.match("1-90, 100-200").hasMatch()?"true":"false") << std::endl;
std::cout << "[1] Match found: " << (overallExp.match("1-90, 100-200, 100").hasMatch()?"true":"false") << std::endl;
}
{
if (!overallExp.match(testString).hasMatch()) {
std::cout << "No correct match" << std::endl;
return -1;
}
QStringList splitString = testString.split(QChar(','));
for (int i=0; i<splitString.size(); ++i) {
if (splitString[i].contains("-"))
{
QStringList str = splitString[i].split("-");
int startInd = str[0].toInt();
int endInd = str[1].toInt();
std::cout << "==> " << startInd << "-" << endInd << std::endl;
}
else
{
int index = splitString[i].toInt();
std::cout << "==> " << index << std::endl;
}
}
}
return 0;
}