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

Résolu
edwinzap
Messages postés
159
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
159
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 !
A voir également:

2 réponses

jordane45
Messages postés
35795
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
358
10 févr. 2016 à 11:28
Bonjour,

Ceci devrait faire l'affaire :

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

0
edwinzap
Messages postés
159
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
35795
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
358
10 févr. 2016 à 11:54
Heu... non...
ça donne ça :

0
jordane45
Messages postés
35795
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
358
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
159
Date d'inscription
samedi 29 septembre 2012
Statut
Membre
Dernière intervention
21 juin 2016
2 > jordane45
Messages postés
35795
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022

10 févr. 2016 à 12:07
J'ai trouvé (je crois):

(?:".+?")*(,)
0
edwinzap
Messages postés
159
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
159
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
35795
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
358
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