Bonjour,
Je pense qu'il est possible de chercher une récurrence avec les regex.
Ceci dis après une journé de recherche je ne l'ai pas trouvé.
J'ai une expression régulière comme ceci qui viens capturer un point et ses informations associé.
Expression régulière:
QRegExp mailExp (".*P([[][\\d]+[]]|[[][\\d]+[:][\"].*[\"][]])[{][\r][\n][\\s][\\s][\\s](GP[\\d]?)[:][\r][\n][\t]UF[\\s][:][\\s]([\\d]+)[,][\\s]UT[\\s][:][\\s]([\\d]+)[,]"
"[\t][\t](CONFIG[\\s][:][\\s]['].[\\s].[\\s].[,][\\s][-\\d]+[,][\\s][-\\d]+[,][\\s][-\\d]+[\'][,])[\r][\n][\t]"
"X[\\s][=][\\s]+([-\\d]+[.][\\d]+)[\\s]+mm[,][\t]Y[\\s][=][\\s]+([-\\d]+[.][\\d]+)[\\s]+mm[,][\t]Z[\\s][=][\\s]+([-\\d]+[.][\\d]+)[\\s]+mm[,][\r][\n][\t]"
"W[\\s][=][\\s]+([-\\d]+[.][\\d]+)[\\s]+deg[,][\t]P[\\s][=][\\s]+([-\\d]+[.][\\d]+)[\\s]+deg[,][\t]R[\\s][=][\\s]+([-\\d]+[.][\\d]+)[\\s]+deg[,][\r][\n][\t]"
".*");
texte:P[1]{
GP1:
UF : 2, UT : 1, CONFIG : 'F U T, 0, 0, 0',
X = -204.414 mm, Y = 221.621 mm, Z = 355.788 mm,
W = -159.995 deg, P = -11.613 deg, R = -88.376 deg,
E1= 0.000 deg
};
P[2]{
GP1:
UF : 2, UT : 1, CONFIG : 'F U T, 0, 0, 0',
X = -192.368 mm, Y = -37.337 mm, Z = 309.984 mm,
W = -159.995 deg, P = -11.613 deg, R = -88.376 deg,
E1= 100.000 deg
};
Je match bien mon premier point, j'arrive a sortir les infos avec mailExp.cap(i), mais je capture seulement le premier point.
Si je viens encadré mon expression avec []+ il me dis que mon expression est fausse.
Si vous avez une idée je suis preneur.
Partager