我正在尝试在回调函数中将字符串与QRegExp
匹配。我正在使用C++
的Qt
实现。我已经编写了以下形式的正则表达式:Atmospheres.(\\d+).(latitude|longitude|radius|path)
并对其进行了验证here
问题是,将正则表达式与QRegExp
匹配总是返回-1
,这是不匹配的。
这是一些代码:
QString name = "Atmospheres.1.latitude";
QRegExp regex("Atmospheres.(\\d+).(latitude|longitude|radius|path)");
int pos = 0;
regex.indexIn(name, pos);
上面的行始终返回
-1
。有什么建议么?谢谢。 最佳答案
您确定您正在运行此确切的代码吗?这对我来说可以:
#include <iostream>
#include <QString>
#include <QRegExp>
int main()
{
QString name = "Atmospheres.1.latitude";
QRegExp regex("Atmospheres.(\\d+).(latitude|longitude|radius|path)");
int pos = regex.indexIn(name, 0);
std::cerr << QT_VERSION_STR << ": " << pos << std::endl;
return 0;
}
执行此操作将产生:
5.2.0: 0