PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV (versiones precedentes) → VérifieExpressionRégulière
VérifieExpressionRégulière
Iniciado por Lauv, 27,abr. 2017 12:04 - 5 respuestas
Miembro registrado
219 mensajes
Popularité : +4 (4 votes)
Publicado el 27,abril 2017 - 12:04
Bonjour tout le monde,
ça fait longtemps que je ne sollicite plus votre aide mais la je sèche vraiment...

je veux récupérer une contenance en "ml" dans une chaîne et je souhaite utiliser un expression régulière
pour se faire j'ai taper ce code (qui ne retourne rien...) :
VérifieExpressionRégulière(sMaChaine,"([0-9]{2,3} ml)",sContenance)


je fais surement une erreur sinon ca marcherait, du coup j'ai regardé l'aide mais sans succès...


Merci d'avance pour votre aide et bon appétit :)
Publicado el 27,abril 2017 - 14:34
Bonjour,


Le 4/27/2017 à 4:04 AM, MeAndYou a écrit :
Bonjour tout le monde,
ça fait longtemps que je ne sollicite plus votre aide mais la je sèche
vraiment...

je veux récupérer une contenance en "ml" dans une chaîne et je souhaite
utiliser un expression régulière
pour se faire j'ai taper ce code (qui ne retourne rien...) :
VérifieExpressionRégulière(sMaChaine,"([0-9]{2,3} ml)",sContenance)


je fais surement une erreur sinon ca marcherait, du coup j'ai regardé
l'aide mais sans succès...


Regarde mieux : verifiexpressionreguliere retourne VRAI ou FAUX.

Pour le reste, sans voir le code complet...

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Merci d'avance pour votre aide et bon appétit :)
Miembro registrado
962 mensajes
Popularité : +183 (185 votes)
Publicado el 27,abril 2017 - 23:03
hello,
Fabrice, MeAndYou s'est certainement mal exprimé. Effectivement VérifieExpressionRégulière retourne un booléen mais dans son cas il a un motif (pattern) avec des parenthèses donc il veut récupérer le résultat dans la chaîne sContenance passée en paramètre et c'est cette chaîne qui doit être vide (code qui ne retourne rien) dans son cas.
MeAndYou montre-nous des exemples de chaîne que tu veux tester (sMachaine).

--
Ami calmant, J.P
Mensaje modificado, 27,abril 2017 - 23:04
Miembro registrado
219 mensajes
Popularité : +4 (4 votes)
Publicado el 13,junio 2017 - 12:23
Bonjour à tous, j'était passé à un autre projet et je viens de me remettre sur ce projet du coup je me suis rendu compte qu'il y avait des espace que je ne précisais pas dans mon expression régulière...
Je me tourne a nouveau vers vous car j'ai un autre problème avec les expressions régulières... c'est pas mon fort...

Je souhaite supprimer les chaines qui sont entre "<--! -->" (les commentaires en html) jai déjà testé ça :
sTexte est une chaîne = fChargeTexte("c:\texte.txt")

sVerifreguliere est une chaîne
sVerifreguliere2 est une chaîne
sVerifreguliere3 est une chaîne
VérifieExpressionRégulière(sTexte,"<!--.*-->",sVerifreguliere)
VérifieExpressionRégulière(sTexte,"<!--.*[^<!--]-->",sVerifreguliere2)
VérifieExpressionRégulière(sTexte,"(<!--){1,1}.*(-->){1,1}",sVerifreguliere3)

rien de tout ca ne marche... j'en ai fais d'autre un peu dans tous les sens mais je ne suis décidément pas doué!

Un petit coup de main de votre part ne serait pas de refus :)
Merci d'avance les windeviens ;)
Miembro registrado
962 mensajes
Popularité : +183 (185 votes)
Publicado el 17,junio 2017 - 09:44
hello,
VerifieExpressionRegulière n'est pas assez "balaise" pour faire cela facilement, je te conseille l'objet automation Vbscript.regexp.
Exemple :
HtmlAtester est une chaîne =[
<!DOCTYPE html>
<html>
<head> <!-- Document Header Starts -->
<title>This is document title</title>
</head> <!-- Document Header Ends -->
<body>
<p>Document content goes here.....</p>
</body>
</html>
]
MonregEx est un objet automation "VBScript.RegExp"
MonregEx>>Pattern = "<!--(.*?)-->"
MonregEx>>IgnoreCase=True
MonregEx>>GLOBAL = True
MonregEx>>MultiLine = True
//Replace all HTML tag matches with the empty string
strOutput est une chaîne = MonregEx>>Replace( HtmlAtester, "")
Trace(strOutput)


résultat :
<!DOCTYPE html>
<html>
<head>
<title>This is document title</title>
</head>
<body>
<p>Document content goes here.....</p>
</body>
</html>


--
Ami calmant, J.P
Mensaje modificado, 17,junio 2017 - 09:46
Miembro registrado
219 mensajes
Popularité : +4 (4 votes)
Publicado el 20,junio 2017 - 09:49
finalement j'ai trouvé une solution assez simple en utilisant la fonction Position() et en faisant une boucle pour rechercher toutes les balises et a chaque boucle j'ajoute la chaîne dans un tableau puis je fais une boucle sur mon tableau en supprimant les chaines, se trouvant dans le tableau, dans la chaîne principale
:) :) :) :)
basique mais ça marche :merci:
Bon Dev