LES BASES (ASSEZ POUSSÉES) DES EXPRESSIONS RÉGULIÈRE(ER) AVEC FICHIER HLP ET AN

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 26 oct. 2003 à 00:45
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005 - 17 nov. 2003 à 02:45
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/17391-les-bases-assez-poussees-des-expressions-reguliere-er-avec-fichier-hlp-et-animation

kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
17 nov. 2003 à 02:45
n'empeche que ca me fais chi.. de ne pas avoir les regexp, car j'en aurais bien besoin...

et faire un convertisseur de fichier hypertexte sans les regexp, c'est rien que de l'algo bien lourd (chercher le caractere de debut de balise, celui de fin de balise, verifier qu'ils ne sont pas places entre guillemet (doivent donc etre consideres comme du texte et non pas comme une balise) .....)

alors qu'une petite regexp bien formulee et ca roule ...

a moins que je fasse un script en perl ou php et qui serai exec par le pgm vb ????? (en attendanrt d'avoir les regexp sous vb hein !!! pas en definitif !!!)
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
7 nov. 2003 à 07:14
lol

non, je pense pas que ca soit un virus.....
ca doit etre normal, bien que j'avoues ne pas savoir de quoi il en retourne.... peut etre une sectorisation dans la Dll....


enfin bref.... ca fonctionne , j'en demande pas plus !
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
7 nov. 2003 à 02:34
je v deja formater, sinon je vais pas avoir assez de CD pour tout mettre sauvegarder !!!!!

j'ai plein de videos de concerts et franchement, ca bouffe de la place ! :-D

mais je regrette pas


pour le 3, c'est vrai que c'est etrange...
est ce que t'as des vbscript.dll, vbscript.dll1, vbscript.dll2 ???

et tes autres dll, ils ont aussi chope des 3 ??? (ou autre caractere)

ca pourrai peut etre sentir le mechant virus ...
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 nov. 2003 à 07:18
Très étrange, en effet.....

essaies de telecharger la SP5 de Visual Basic......



(moi, dans les references, il est ecrit:)
E:WindowsSystem32vbscript.dll3


ce 3 m'intrigue...
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
5 nov. 2003 à 02:50
bon, j'ai downloade le zip de krosoft, j'ai installe, et ca veux pas marcher !

le "microsoft vb script..." n'est pas dans la liste

quand je clic sur "parcourir" : les dll (vbsrcipt.dll et vbsfr.dll) veulent pas etre integree dans le projet : "Impossible d'ajouter une reference au fichier specifie"

et l'aide dit :
"Vous avez essayé d'utiliser la boîte de dialogue Références pour ajouter une référence à une bibliothèque de types ou une bibliothèque d'objets qui ne peut pas être utilisée par Visual Basic.

Consultez la documentation de l'objet représenté par la bibliothèque pour vérifier s'il est disponible sous une autre forme exploitable par Visual Basic."

sont droles non ?

car y'a pas d'aide evidemment !
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
4 nov. 2003 à 02:36
faut dire que la version que j'i a l'air un peu "space", par exemple, j'ai soit disant un pb de license (je crois) avec les richtextbox alors que c'est une version originale avec le code originale, je vois pas d'ou ca pourrais pas etre la bonne license ???

alors je ne m'etonne plus de rien ...
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
3 nov. 2003 à 06:40
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
3 nov. 2003 à 01:14
bon, j'ai regarde, et apparemment, le "microsoft vbscript..." n'est pas present ! pas glop ! ca peux se telecharger quelque part ?
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
3 nov. 2003 à 00:32
concernant tes RE :

la premiere cherche les fonctions, la seconde cherche le @ tout seul
???

vu l'erreur de l'antislash je pense que je doit mettre les RE suivante et aussi le fait que 2 fonctions peuvent etre collees a la suite (donc pas d'espace entre les 2) :
*[^DOUBLE_ANTISLATSH]@{(.*)} pour les fonctions
*[^DOUBLE_ANTISLATSH]@(.*) pour les options
*[^DOUBLE_ANTISLATSH]@ANTISLATSHw pour un @ESPACE (l'espace coupe aussi l'effet "commande" de l'@ pour qu'i soit considere caractere simple)
DOUBLE_ANTISLATSH@ pour le ANTISLATSH@

ca fait ch... de ne pas pouvoir mettre le signe ANTISLATSH !!! :-D
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
3 nov. 2003 à 00:03
ok, je vais aller voire la doc et le site, merci a vous 2 !

j'ai vu qu'un truc etais mal passe :
le @, c'est pas ca : c'est ANTISLATSH@ (le signe antislatsh, pas le mot hein ??? !!!)

et pareil dans l'expli, il faut lire :
ANTISLATSH@ : ne traite pas le @ comme ...

ce qui fais ch... la dedans, c'est qu'il faut utiliser le caractere precedent au @, ce qui oblige a mettre un test suplementaire alors qu'utiliser un @@ a la place, ca se serai gere au meme titre qu'une fonction... c'est pas dur, mais faut un test special...

concernant la prog sans regex, c'est faisable, mais c'est long !
et surtout, parceque je veux respecter la mise en page initiale et que remplacer @{b} par un ca oblige a decaler toute la suite d'un caractere, ca peux demander beaucoup de temps d'exec pour traiter le doc. Si j'ai N fois @{b} a convertir, il faut que je decale N fois d'un caractere et si le fichier est volumineux ....

alors qu'un petit coup de regexp et hop, c'est fait !
krissssss Messages postés 88 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 2 janvier 2007
2 nov. 2003 à 15:26
lol Renfield, tu tourne en rond sur les sources ;)


kimmelf2,
Regarde le fichier d'aide fourni dans la source,
où j'explique comment ajouter cette référence :)
(Ou ouvre directement la page HTML, lol)

Donc, bonne lecture.

Au fait, les REGEX changent légèrement suivant le langage, il y a même des langages ou l'on peut écrire :
[:ALPHA:]
[:NUMERIC:]
etc.
Ce sont des classes ;)
Mais bon, en VB ça n'existe pas donc pas de soucis :)

@{(*)}:(w)
@w:w

Au fait, c'est pas grand chose sans les REGEX, c'est possible ;)
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
2 nov. 2003 à 13:03
je suis pas franchement convaincu, en ce qui concerne w , et le caractere de soulignement.
mais alors pas du tout convaincu....

les caracteres a ne pas autoriser, c'est [^XXXXXXX]

pour la version, il suffit de mettre a jour la dll
va sur le site de microsoft, et cherche

Scripting runtime
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
2 nov. 2003 à 01:38
l'interpretation est pas toujours la meme a ce qu'il semblerais (d apres un bouquin que j'ai) :

par exemple :
dapres le book sur JS :
"w recherche tous les caracteres alphanum suivis par un caract de soulignement
/w+/ trouvera le fragment "MaVariable_" dans la chaine "MaVariable_/Encore une variable"
"

dapres un book sur Perl :
w recherche un caractere mot (les caracts alphanum et le soulignement)

en +, mes books sont pas complets : il me manque par exemple (dans les + utilses) les crochets [ ] (pour specifier des listes de caracteres autorises je crois ??), comment specifier des caracteres a NE PAS utiliser ....

------------------------------
Concernant ton pgm : tu utilise l'objet RegExp.
Mon Pb, c'est que sur mon VB 5 pro, ca existe pas !
ca apparais a partir de quelle version ?? et c'est un type standard du vb , un ocx, une dll ????
si c'est un composant ajoute, tu pourrais me le mailer STP ???

si tu peux me le fournir, ca me serais hyper-mega-utile car j'ai un gros soucis avec un pgm : c'est une sorte de parser de docu hypertexte, genre equivalent a analyser une page HTML...

ca a un peu la meme tete que le html :
@option
@{fonction + params }
@

ce que j'appele option :
@title : titre de la page
@prev : page precedente dans l'index ....
les fonctions :
@{b} : gras ....

@ : ne traite pas le @ comme un debut de commande mais comme le caractere @ lui meme ( = caractere d'echappement)

pour l'instant, je fais un turc du style
-1- chercher un @
-2- si caractere a droite est une lettre : option
si c'est un { : fonction
-3- recuperer le nom de l'option ou le bloc entre accolade
-4- traiter l'option ou la fonction

donc gros merdouillage qui pourrais etre vachement simplifie avec les regexp ....
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
30 oct. 2003 à 09:28
je veux pas dire mais en Javascript, on utilise strictement le même objet......

donc tu as exactement les mêmes possibilités.....
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
30 oct. 2003 à 02:10
euh .. na toujours pas ! :-D

mais il est telecharge/archive/pret_a_l'emploi :D
krissssss Messages postés 88 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 2 janvier 2007
30 oct. 2003 à 02:08
kimmelf, as-tu ouvert le zip ;-)

Aller, je vais dormir car il est temps :-)
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
30 oct. 2003 à 01:39
faudrai juste avoir un bon tuto pour commencer, et ensuite, rester tout betement logique (je crois que c'est la maniere la + simple de piger les RE)

perso j'ai bosse que les RE en javascript (ben oui, y'en a aussi). c'est limité mais ca permet deja beaucoup de choses ...
krissssss Messages postés 88 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 2 janvier 2007
29 oct. 2003 à 19:26
lol Renfield, les réponses sont justes :-)

Et ça me fait plaisir (mais venant de toi, c'est normal que ce soit bon)

kimmelf, oui tu as bien répondu au premier cas :-)
Je te souhaite de bien t'amuser avec les ER ;-)
C'est plus facil que ce que l'on pense :-)
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 oct. 2003 à 01:25
pour info :
[A-Z]|[a-Z]|[0-9]

est equivalent a :

[A-Za-Z0-9]

--------------------------------------------------

1 - Bonne reponse kimmelf2

2 - En fait, on extrait un caractère. (en utilisant les parenthèses.).
dans le premier cas, on lui accole toute les lettres suivantes eventuellement (c'est le role de l'etoile) identiques. En effet le 1 fait reference a la premiere sous chaine extraite.
dans le deuxieme cas, on extrait toujours un caractere. On lui accole ensuite LE caractere suivant, s'il est identique........

rappelons - nous en effet que le ? designe 0 ou 1 possibilité ; et que l'etoile represente entre 0 et n possibilités........

C'est clair ??
Non !! utilisez un Viewer de RegEx, ou reliser la doc de krisssssss
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
29 oct. 2003 à 01:16
je suis pas tres fort en RE mais je crois que

-1- le "." represente un caractere quelquonque alors que "(?....)" represente un caractere alphanumerique ([1-9] = 1 chiffre, [a-z] = 1 lettre minuscule, [A-Z] = 1 lettre majuscule )

-2- recherche la chaine "absolument aucune idee" non ??? du moin, c'est le resultat que je donne ...
krissssss Messages postés 88 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 2 janvier 2007
26 oct. 2003 à 15:50
RenField, sais tu que c'est toi qui à lancé la machine ?

Je vais modifier les TextBoxes pour les vider :-)

Je cherche quelqu'un de courrageux pour corriger les fautes ;-)

Sur ce, je vais vite faire une mise à jour !

@tte
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 oct. 2003 à 00:45
pourrais ce jumeler avec une de mes appli que je gonfle : RegEx WorkShop.

Tu pourrais vider les textBoxes..... voir "Text1" partout....
le fichier d'aide est pas mal, attention aux fautes d'orthographe !!!!!