Bonjour
J'ai cette chaine de caractères:je dois recupérer tout ce qui est entre 'CN=' et la virgule suivante ou la fin de chaine"test,CN=bernard.lemeilleur,DN=test,CN=bernard.lemoinsbon,CN=bernard.lemauvais"
Je n'arrive pas à mettre au point mon expression regulière, il me manque toujours 'bernard.lemauvais' , sauf en ajoutant une virgule en fin de chaine.
Mon programme:Si quelqu'un a une idée éfficace, je suis preneur.
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
30 Sub ess2() Dim RegEx As VBScript_RegExp_55.RegExp Dim RegM As VBScript_RegExp_55.MatchCollection Dim Match As VBScript_RegExp_55.Match Dim Ch As String Set RegEx = New VBScript_RegExp_55.RegExp Ch = "test,CN=bernard.lemeilleur,DN=test,CN=bernard.lemoinsbon,CN=bernard.lemauvais" With RegEx .IgnoreCase = True .MultiLine = False .pattern = "CN=(.*?)[,$]" .Global = True End With Set RegM = RegEx.Execute(Ch) For Each Match In RegM ' Debug.Print Match.Value Debug.Print Match.SubMatches.Item(0) Next Set RegM = Nothing Set Match = Nothing Set RegEx = Nothing End Sub
bon week-end
Bernard
Partager