Bonjour,
J'ai un fichier txt qui contient quelque chose comme ca :
Je desire recuperer seulement une des deux balises MESUREMENT (toute entiere). J'ai donc teste cette Regex :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 /begin MEASUREMENT ACM_2st_bypass_dmnd "Duty cycle of the bypass actuator" UBYTE CM_1 /* FT_enumeration1:((1=TRUE) (0=FALSE) ) */ 1 0 0 1 ECU_ADDRESS 0xFFF90EB2 /begin IF_DATA DIM 0xFFF90EB2 INTERN BYTE /end IF_DATA /begin IF_DATA VISU ADR_COM 0xFFF90EB2 ADR_ABS 0xFFF90EB2 /end IF_DATA /begin FUNCTION_LIST ACM /end FUNCTION_LIST /end MEASUREMENT /begin MEASUREMENT ACM_2st_two_stage_turbo "Flag indicating whether 2 step turbocharge is used" UBYTE CM_1 /* FT_enumeration1:((1=TRUE) (0=FALSE) ) */ 1 0 0 1 ECU_ADDRESS 0xFFF90E8C /begin IF_DATA DIM 0xFFF90E8C INTERN BYTE /end IF_DATA /begin IF_DATA VISU ADR_COM 0xFFF90E8C ADR_ABS 0xFFF90E8C /end IF_DATA /begin FUNCTION_LIST ACM /end FUNCTION_LIST /end MEASUREMENT
Le probleme, c'est que cela me donne le texte depuis le premier "/begin MEASUREMENT" jusqu'au dernier "/end MEASUREMENT" alors que moi je veux seulement avoir un collection de chaque MEASUREMENT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 @"/begin(\s+)MEASUREMENT(\s+)(\S+)[\S\s]+/end(\s+)MEASUREMENT"
J'utilise :
Je ne sais pas si j'ai ete assez clair ... Je suis la pour toute question
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 MatchCollection matVariable = Regex.Matches(fichier, @"/begin(\s+)MEASUREMENT(\s+)(\S+)[\S\s]+/end(\s+)MEASUREMENT");
Merci d'avance,
Mathieu
Partager