我试图在回调函数中使用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
。有什么建议?谢谢。
答案 0 :(得分:2)
您确定要运行此确切代码吗?它适用于我:
#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