Je souhaite extraire des données de chaîne d'un fichier donné. Le fichier a une structure telle que:Extraire les valeurs numériques entre accolades
name, catg, {y:2006, v:1000, c:100, vt:1}, {y:2007, v:1000, c:100, vt:1},.. {..}..
.
Je veux extraire les valeurs suivantes:
-
nom
- ;
- catg;
- numéros après
y
,v
,c
,vt
;
I utilisée la prochaine regexes:
@"(?<name>\w+), (?<cat>\w+)"
pour l'extraction des deux premiers éléments;@"(?:\{y:(?<y>\d+), +v:(?<v>\d+), +c:(?<c>\d+), +vt:(?<vt>\d+)\}, ?)+"
pour l'extraction d'autres valeurs incluses entre accolades.
J'ai concaténé ces deux et fait un test dans un testeur de regex. Mais comme prévu, je n'ai qu'un seul ensemble de nombres extraits. Et j'ai besoin de résultat de l'autre partie ({y:2007, v:1000, c:100, vt:1}
). De plus, il pourrait y avoir plus de deux parties.
Comment réparer mon regex? Et puis, comment puis-je collecter tous les ensembles de numéros à partir des parties correspondantes.
Ok! Comment obtenir des groupes extraits? – lexeme
@helicera, je viens d'ajouter un exemple d'utilisation :) –
Oui, je vois)) Merci! – lexeme