Parser stl et regexp

Pàgina inicial

Reply to this message
Autor: Frédéric
Data:  
A: guilde
Assumpte: Parser stl et regexp
Hello,

Petite questions aux guru regexp...

Je voudrais parser un fichier stl. En ascii, c'est de la forme :

        solid _40x10
            facet normal 0.000000e+000 0.000000e+000 1.000000e+000
                outer loop
                    vertex 1.286803e+001 2.957990e+001 1.200000e+001
                    vertex 1.173648e+001 2.984808e+001 1.200000e+001
                    vertex 1.115715e+001 2.953001e+001 1.200000e+001
                endloop
            endfacet
            facet normal 0.000000e+000 0.000000e+000 1.000000e+000
                outer loop
                    vertex 1.115715e+001 2.953001e+001 1.200000e+001
                    vertex 1.173648e+001 2.984808e+001 1.200000e+001
                    vertex 1.058145e+001 2.998308e+001 1.200000e+001
                endloop
            endfacet
            ...
        endsolid _40x10


Je voudrais pouvoir récupérer des groupes :

- le(s) groupe(s) de lignes compris entre 'solid/endsolid'
- le(s) groupe(s) de lignes compris entre 'facet/endfacet'
- le(s) groupe(s) de lignes compris entre 'solid/endsolid'
- le(s) groupe(s) de lignes compris entre 'outer loop/endloop'

Après, une fois le groupe de lignes de vertex isolé, pas de souci pour
trouver les coordonnées.

Ça fait un moment que je m'arrache les cheveux ; visiblement, je n'arrive
pas à gérer les retours à la ligne.

Si vous pouviez me donner un tuyau sur la façon de procéder, ce serait
sympa.

Merci d'avance.

PS : j'utilise les regexp de python, qui, si je ne dis pas de conneries,
ont été unifiées avec celles de perl.

--
Frédéric