Récupération de toutes le virgules sauf celles entre guillemet

Résolu
edwinzap Messages postés 149 Date d'inscription samedi 29 septembre 2012 Statut Membre Dernière intervention 21 juin 2016 - 10 févr. 2016 à 10:54
edwinzap Messages postés 149 Date d'inscription samedi 29 septembre 2012 Statut Membre Dernière intervention 21 juin 2016 - 10 févr. 2016 à 12:36
Bonjour,
Je ne sais pas si ce que je cherche est faisable strictement en regex.
Je cherche un moyen de récupérer toutes les virgules d'un texte sauf si celle si se trouve dans un bloc entre guillemet.

Un exemple vaut mieux qu'un long discours:

la la, un test ," ne pas, prendre, ces, virgules", la la, test

En gras souligné les virgules à retourner.
(la virgule est un prendre si elle n'est pas précédée de ," et suivie de " )

Merci !

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
10 févr. 2016 à 11:28
Bonjour,

Ceci devrait faire l'affaire :

(?:".*")*(,)

0
edwinzap Messages postés 149 Date d'inscription samedi 29 septembre 2012 Statut Membre Dernière intervention 21 juin 2016 2
Modifié par edwinzap le 10/02/2016 à 11:32
Malheureusement ça ne donne pas le résultat attendu.
Cela donne ceci:

la la, un test ," ne pas, prendre, ces, virgules", la la, test
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
10 févr. 2016 à 11:54
Heu... non...
ça donne ça :

0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
10 févr. 2016 à 11:54
Ne sont récupérées que les virgules qui ne sont pas entre guillemets.
0
edwinzap Messages postés 149 Date d'inscription samedi 29 septembre 2012 Statut Membre Dernière intervention 21 juin 2016 2
Modifié par edwinzap le 10/02/2016 à 12:25
Ok merci,
L'option gmi sert à quoi ?

Enfin, le résultat n'est pas totalement correcte.
En effet si j'ai ceci:
la ,",la", un test," ne pas, prendre, ces, virgules", la la, test

En gras les virgules désirées
0
edwinzap Messages postés 149 Date d'inscription samedi 29 septembre 2012 Statut Membre Dernière intervention 21 juin 2016 2 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
10 févr. 2016 à 12:07
J'ai trouvé (je crois):

(?:".+?")*(,)
0
edwinzap Messages postés 149 Date d'inscription samedi 29 septembre 2012 Statut Membre Dernière intervention 21 juin 2016 2
10 févr. 2016 à 12:14
Mais ça ne fonctionne pas si j'ai un retour à la ligne entre deux guillemets !
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
10 févr. 2016 à 12:25
Moi je me suis basé sur l'exemple que tu nous as donné....
maintenant que tu ajoutes de nouvelles "conditions"... cela ajoute forcément de la difficulté .... et il n'est pas super évident d'être capable de tout gérer.
bref.. je t'ai donné la "base" ... à toi maintenant de la faire évoluer pour que ça corresponde à tes "nouveaux" besoins.
0
Rejoignez-nous