Bonsoir, l'expression n'est pas bien adaptée :
[^,"]*("[^"]*")*[^,"]*
salut, "bonjour, comment allez vous ?", #00ffff, 354
salut vat matcher avec [^,"]*
mais le reste de la chaîne suivant salut est : ', "bonjour, comment allez vous ?", #00ffff, 354'
et doc à cause de ', ' on s'arrête
pour rendre la recherche générique, on doit donc sélectionner :
tout ce qui ne comporte pas de , ni de "
ou
tout ce qui est de la forme "......."
ie
([^,"]+)
|
(".*")
les () sont très importantes, car elles forcent le regroupement
d'où au final :
Code : Tout sélectionner
#include <Array.au3>
$resultat = StringRegExp('salut, "bonjour, comment allez vous ?", #00ffff, 354', '([^,"]+)|(".*")', 3)
_ArrayDisplay($resultat)
cependant, une lacune dans cette dernière expression persiste : des lignes retournées vide (espaces ?) en trops, d'où un second traitement à faire après pour les éliminer en attendant de poffiner l'expression :
[0]|salut
[1]|
[2]|
[3]|"bonjour, comment allez vous ?"
[4]| #00ffff
[5]| 354
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.