gpt4 book ai didi

c++ - 在 Qt6 中移植 QRegExp::exactMatch()

转载 作者:行者123 更新时间:2023-12-05 01:28:28 30 4
gpt4 key购买 nike

我正在将 Qt5 应用程序移植到 Qt6。我想尽快离开 Qt6 的 Qt5CoreCompat 模块。我的问题是 QRegExp 类应该替换为 QRegularExpression 类。大多数补丁都相对微不足道,但我如何移植 QRegExp::exactMatch()在 Qt6 中。这是应用程序的一些代码:

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
}

我想要和以前一样的行为。

最佳答案

文档建议使用 anchoredPattern helper function从正则表达式本身进行锚定:

QRegularExpression version(QRegularExression::anchoredPattern(QLatin1String("(.+)_v(\\d+)")));

关于c++ - 在 Qt6 中移植 QRegExp::exactMatch(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68577160/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com