我正在向Qt6移植一个Qt5应用程序。我想尽快离开Qt6的Qt5CoreCompat模块。我的问题是应该用QRegularExpression
类替换的QRegExp
类。大多数补丁都是相对微不足道的,但是如何在Qt6中移植QRegExp::exactMatch()
呢?以下是应用程序中的一些代码:
QRegExp version(QLatin1String("(.+)_v(\\d+)"));
if (version.exactMatch(completeBaseName/*QString*/))
{
// some code
}
在QRegularExpressionMatch
类中,我看不到这样做的方法。我猜解决方案可能是这样的:
QRegularExpression version(QLatin1String("(.+)_v(\\d+)"));
QRegularExpressionMatch match = version.match(completeBaseName);
if (match.hasMatch())
{
// Find exact match or not
}
我想要有和以前一样的行为。
发布于 2021-07-29 22:14:33
文档建议使用anchoredPattern
helper function从正则表达式本身进行锚定:
QRegularExpression version(QRegularExression::anchoredPattern(QLatin1String("(.+)_v(\\d+)")));
https://stackoverflow.com/questions/68577160
复制相似问题