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