<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <pre>Ciao a tutti,</pre>
    <pre>è da un po' che non scrivo.</pre>
    <pre>Vi chiedo aiuto perchè sto cercando di leggere delle coordinate da un file Gcode.</pre>
    <pre>Un esempio del testo da parsare è:</pre>
    <pre>;LAYER:1
;MESH:untitled.stl
G0 F7200 X1298 Y1798 Z4
;TYPE:WALL-OUTER
G1 F1800 X702 Y1798 E1494.81223
G1 X702 Y1202 E2242.21834
G92 E0
G1 X1298 Y1202 E747.40611
G1 Y1798 X1298 E1494.81223
;TIME_ELAPSED:177.752007
;CHANGE;
;LAYER:2
;MESH:untitled.stl
G0 F7200 X1298 Y1798 Z6
;TYPE:WALL-OUTER
G1 F1800 X702 Y1798 E2242.21834
G92 E0
G1 X702 Y1202 E747.40611</pre>
    <pre>non ho grossi problemi ad effettuare un parsing corretto ma lo sto facendo con vari if, elif, case,  ecc. cosa che non mi piace molto.</pre>
    <pre>Stavo provando ad utilizzare le regex ma non sto riuscendo a fare quello che voglio (in modo pulito) ovvero identificare le coordinate X, Y e Z anche se in alcuni casi hanno posizioni invertite.
Vorrei anche attribuire un nome al gruppo identificato in modo da usarlo come dizionario.
Stavo usando alcuni pattern tipo "<span
    style="color: rgb(0, 128, 0); white-space: pre;">.*Z(?P<Z>\d+[.]?\d*)" </span><span
    style="white-space: pre;">che vanno bene per individuare le coordinate di un asse ma capita che le righe contengano x y e z oppure solo Z oppure solo x e y. 
Importante, in alcuni casi potrebbero essere anche in ordine differente tipo z y e x.

Per ora i numeri dopo E e F posso trascurarli ma vi chiederei aiuto per riuscire ad ottenere le coordinate da ogni riga.

se tutte le righe rispettassero lo stesso pattern non avrei problemi ma non so come affrontare soprattutto il problema di avere pattern diversi in ordine (quasi) random.

Spero di essere stato abbastanza chiaro.

Grazie a tutti

Matteo


</span></pre>
    <p><br>
    </p>
  </body>
</html>