需求

Qt5 的工程升级到 Qt6 之后,找不到 QRegExp 等一系列类。

解决

  • QRegExp -> QRegularExpression
  • QRegExpValidator -> QRegularExpressionValidator
// Qt5
QRegExp version(QLatin1String("(.+)_v(\\d+)"));
if (version.exactMatch(completeBaseName/*QString*/))
{
      // some code
}

// Qt6
QRegularExpression version(QLatin1String("(.+)_v(\\d+)"));
QRegularExpressionMatch match = version.match(completeBaseName);
if (match.hasMatch())
{
      // Find exact match or not
}

参考