Warum stimmt der folgende Code nicht überein? der Ausdruck ist nicht so schwierig und Online-Regex-Tester auch sagen, dass es funktionieren sollte. Mache ich etwas falsch mit den Fluchten?Warum passt diese Regex nicht?
QRegExp rex("(.*?)(\\d+\\.\\d+)_(\\d+\\.\\d+).*?");
QString fileName("tile_10.0000_47.3100_0.1_.dat");
if (rex.indexIn(fileName)>=0) {
// ...
}
Vielleicht 'rex (" ([^ _] *) _ (\ \ d + \\. \\ d +) _ (\\ d + \\. \\ d +) ")' wird funktionieren, wie Sie brauchen? Oder sogar 'rex ("^([^ _] *) _ (\\ d + \\. \\ d +) _ (\\ d + \\. \ \ D +) ")' wenn Sie vom Anfang an übereinstimmen müssen die Saite. –