cs_orax
Messages postés9Date d'inscriptionmercredi 8 octobre 2003StatutMembreDernière intervention 9 décembre 2009 8 juil. 2009 à 17:53
Merci d'avoir répondu aussi vite.
(?! ) cherche si le suffixe n'est pas présent.
Je vais essayer de clarifier ma demande :
Cette expression : (\d+),?(?!.*?\1) me retourne les nombres (avec la virgule) qui sont en gras et rouge :
12,55,4444,55,45,12,45,55,4444,12,55,44,4444,55,45,12,55,44,55,45,12,45,55,12,55,44,55,45
alors que moi je cherche à avoir le contraire, c'est-à-dire que je veux :
12,55,4444,55,45,12,45,55,4444,12,55,44,4444,55,45,12,55,44,55,45,12,45,55,12,55,44,55,45
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_orax
Messages postés9Date d'inscriptionmercredi 8 octobre 2003StatutMembreDernière intervention 9 décembre 2009 9 juil. 2009 à 02:50
> "aisé a obtenir, mais là, tu séléctionne 4444 55 et 12 alors qu'ils sont en double...."
Oui je sais, ça peut paraitre bizarre mais c'est ce que je cherche à faire, je ne veux que les doublons.
Je crois que j'ai pu trouver quelque chose de fonctionnel :
(?x)
(?<= # cherche si le préfixe est présent et l'exclu du résultat
,|^
)
(.+?), # chaine à chercher (tous les caractères)
(?= # cherche si le suffixe est présent et l'exclu du résultat
.*?
(?:\1,|\1$)
)
<hr width="100%" size="2" />Concernant le suffixe (?! ), voilà un exemple :
aaa(?!bbb) # vérifie si la chaine bbb N'est PAS présente
aaabbbccc # ne retourne rien car aaa est suivi de bbb
aaaxxxbbbccc # retourne aaa
J'y avais pensé mais je n'ai pas réussi à trouver la solution avec. Je crois que je n'arrive pas bien à m'en servir.
Si par exemple dans la chaine : "aaabbbccc" je veux qu'il me retourne "aaa" suivi de tout le reste si, et seulement si, "aaa" est suivi de "bbb", et bien je fais :
(aaa)(?([b]{3}).+)
mais le problème c'est qu'écrit comme ça, ça ne marche pas dans mon script, il ne reconnait pas cette syntaxe (j'utilise AutoIt ).
D'ailleurs, j'utilise 2 éditeurs : Expresso et RegexBuddy, cette syntaxe fonctionne dans Expresso, par contre dans RegexBuddy, ça ne marche que quand je sélectionne le "Regex Flavor" .NET (je sélectionne toujours PCRE d'habitude).