CALCULATEUR DE REGEX

cs_tofu Messages postés 1726 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 13 juin 2009 - 22 avril 2005 à 07:33
cs_Shisui Messages postés 34 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 17 janvier 2007 - 22 sept. 2005 à 13:54
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/30905-calculateur-de-regex

cs_Shisui Messages postés 34 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 17 janvier 2007
22 sept. 2005 à 13:54
"Rien que dans le fichier installation.txt c'est le foutoir ;-)" (c.f post précédent)
Et encore foutoir c'est petit pour désigner ça, quand on réutilise le meme txt pour chacune de ses sources, on essaye au moins de mettre le bon nom dedans, parceque là ya la moitié du fichier qui parle d'une source de sondage ...

Ensuite tu devrait expliquer à quoi sert ta source, c'est peut etre clair pour toi mais on comprend absolument rien. J'ai testé le code personnellement et meme en essayant plusieurs fois j'ai compris peut etre un petit peu et encore je suis pas sur de comprendre ce que j'ai compris :x

Nb: pourquoi "regex" alors que tu n'en utilise aucune ?
Nolson Messages postés 216 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 16 mars 2006
23 avril 2005 à 15:53
Rien que dans le fichier installation.txt c'est le foutoir ;-)
De plus aucune indication comment s'en servir.

Quant à la source proprement dite, regardons ce qu'elle fait. A première vue pas un soupçon de regex à l'horizon.
5 parties : Création du dialog, création du menu, initialisation d'une variable au demarrage, un évènement pour copier et enfin celui qui nous interesse l'évènement déclenchant le soit-disant "calcul de regex".

Premier essai :
(1) "did -ra calcul 3" : efface la list et on ajoute euh.. rien.
(2) "if (%a == 0)" : Variable %a jamais crée donc test non validé, on passe à la ligne suivante
(3) "while (%a < $len($did(calcul,2)))" : idem, on passe à la ligne suivante
(4) "did -a calcul 3 $calc(%varstep3 + 1) - $left($did(calcul,2),%a) $+ $left(%var9,$calc(%varlen - %a))" : Toujours pb des variables non vues encore, on ajoute une ligne avec "1 -" c'est tout ce qui est retourné le $calc(%varstep3 + 1) c'est donc $calc(1).
(5) "set %a 0" : On crée (enfin) une variable %a à 0
(6) "clipboard -na $did(calcul,3).text" : on ajoute au presse-papier.

Bon que dire du résultat de cette manip... rien, ça vaut mieux.

Deuxième essai: (n'oublions pas, la variable %a a été initialisée)
(1) "did -ra calcul 3" : efface la list et on ajoute euh.. rien.
(2) "if (%a == 0)" : condition ok, on entre dans la suite.
(3) "set %varlen $len($did(calcul,2))" : on crée la variable %varlen en lui attribuant la longueur du texte entré dans le 2è édit.
(4) "did -a calcul 3 $did(calcul,1) - $left(%var9,$calc(%varlen - 1))" : On ajoute une ligne à la list avec le texte entré dans l'edit 1, plus un tiret et un certain nombre de "9" (correspondant aux nombres de caractères dans l'édit 2 moins 1)
(5) "inc %a" : on incrémente %a de 1
(6) "set %varstep3 $left(%var9,$calc(%varlen - 1))" : on crée la variable %varstep3 en y mettant le nombre de "9" comme dans le (4).
(7) "while (%a < $len($did(calcul,2)))" : condition ok, on entre dans la suite.
(8) "did -a calcul 3 $calc(%varstep3 + 1) - $calc($left($did(calcul,2),%a) - 1) $+ $left(%var9,$calc(%varlen - %a))" : on ajoute à la list une ligne avec un nombre correspondant au nombre avec "9" de la ligne précédente plus 1, ensuite un tiret, ensuite les %a ièmes caractères de gauche de l'edit 2 moins 1 complété de "9" (jusqu'à %varlen)
(9) "set %varstep3 $calc($left($did(calcul,2),%a) - 1) $+ $left(%var9,$calc(%varlen - %a))" : on attribue à %varstep3 le dernier nombre obtenu ci-dessus (8)
(10) "inc %a" : on incrémente %a de 1 et on recommence la boucle ainsi de suite jusqu'à la fin de la condition.
(11) "did -a calcul 3 $calc(%varstep3 + 1) - $left($did(calcul,2),%a) $+ $left(%var9,$calc(%varlen - %a))" : on ajoute une dernière ligne à la list comme précédemment mais avec %a supérieur de 1 par rapport à la condition du while.
(12) "clipboard -na $did(calcul,3).text" : on ajoute au presse-papier (mal fait).

Conclusion : Au premier essai ça foire et l'edit 1 ne sert à rien. le nombre entré dans l'edit 2 est décomposé par pallier "unitaire". On en fait quoi?
Bref rien de folichon. De plus de grosses optimisations sont possibles niveau codage et l'aspect du dialog est à revoir mais ce dernier point, n'est qu'un détail, perso je m'en tape.
Ex: je rentre 8756 dans l'édit 2, je j'envoie le calcul ca va donner :

-999
1000-7999
8000-8699
8700-8749
8750-8756
MaX_62 Messages postés 879 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 29 juin 2007
22 avril 2005 à 21:01
En plus le dialog est magnifique :o)
cs_tofu Messages postés 1726 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 13 juin 2009 1
22 avril 2005 à 19:37
à rien lol ..
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
22 avril 2005 à 14:15
J'ai pas regarde le code parce je connais pas les regex , mais si on ne calcul pas un regex a koi sert son code ?
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
22 avril 2005 à 09:23
on ne calcule pas une regex...
d'autant qu'un addon dont le titre contient "regex" et qui n'utilise pas de $reg* chapeau bas ;-)
ptet bientot un moteur de regex PCRE en mIRC =] lol... en bref, j'comprends pas nan plus ce que c'est sensé faire
cs_SornDrixer Messages postés 2084 Date d'inscription jeudi 12 décembre 2002 Statut Membre Dernière intervention 30 janvier 2011 8
22 avril 2005 à 08:35
Pour un code aussi court, ca aurait été bien de l'afficher également sur le site, ca évite de télécharger le zip pour seulement une trentaine de ligne de code.

Sinon je ne vois pas non plus à quoi cela sert, si tu pouvais nous donner un petit exemple pour démontrer son utilité, ca serait bien.

on 1:start:{
set %var9 999999999999999999999999999
}
strictement inutile, tu peux enlever ca.
MaX_62 Messages postés 879 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 29 juin 2007
22 avril 2005 à 08:17
On peut savoir a quoi ça sert a part ça ?
cs_tofu Messages postés 1726 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 13 juin 2009 1
22 avril 2005 à 07:33
regex:

n. f.
Article lié à celui-ci : regexp.

[argot] Contraction courante de « regular expression », soit expression régulière ou expression rationnelle. On trouve aussi regexp.

---

depuis qd on calcul des regexp ?
Rejoignez-nous