Expression régulière

Résolu
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012 - 9 févr. 2011 à 15:49
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012 - 9 févr. 2011 à 18:05
Bonjour,

Je dois rechercher dans un chaine la présence de cà par exemple :
{[A]=3;oui;non}
mais de manière plus générale :
{xxxx;xxxx;xxxx}

J'ai pensé à utiliser une expression régulière mais là il me faut un spécialiste
Pouvez m'aider s'il vous plait ;)

3 réponses

cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
9 févr. 2011 à 16:22
Bonjour

Dim oRegExp As RegExp
Dim str As String
str = "{[A]=3;oui;non}" 'au choix
str = "{xxxx;xxxx;xxxx}" 'au choix
Set oRegExp = CreateObject("VBScript.RegExp")
oRegExp.Pattern = "\{*;*;*}" ' Définition de la balise HTML
oRegExp.Global = True ' On traite toute la chaine
b = oRegExp.Test(str)
MsgBox b
3
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012
9 févr. 2011 à 18:05
Voila, j'ai fait comme ça et ca marche :

oRegExp.Pattern = {[a-z0-9_.-]+=[a-z0-9_.-]+;[a-z0-9_.-]*;[a-z0-9_.-]*}
3
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012
9 févr. 2011 à 16:32
ok merci pour ta réponse
mais avec "\{*;*;*}" j'ai rien
et si je fais ça si :
"[{*;*;*}]" bizarrement ca me trouve bien la chaine sauf qu'en utilisant ça :


Dim oRegExp As RegExp 
Dim str As String 
str = "{pas ça} xxxyyzz {[A]=3;oui;non} xxxyyzzz" 
Set oRegExp = CreateObject("VBScript.RegExp") 
oRegExp.Pattern = "[{*=*;*;*}]" 
oRegExp.Global = True 

Dim myMatches As MatchCollection
Set myMatches = oRegExp.Test(str) 

Dim myMatch As Match
For Each myMatch In myMatches
  Debug.Print myMatch.value & vbTab & myMatch.FirstIndex
Next


Ca me trouve même" pas ça}. J'ai l'impression que les * fonctionne comme des OU :(
0
Rejoignez-nous