Expression régulière [Résolu]

Messages postés
234
Date d'inscription
mercredi 25 octobre 2000
Dernière intervention
5 octobre 2012
- - Dernière réponse : peug
Messages postés
234
Date d'inscription
mercredi 25 octobre 2000
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 ;)
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Dernière intervention
2 juin 2016
2
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 90 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_loulou69
Messages postés
234
Date d'inscription
mercredi 25 octobre 2000
Dernière intervention
5 octobre 2012
3
Merci
Voila, j'ai fait comme ça et ca marche :

oRegExp.Pattern = {[a-z0-9_.-]+=[a-z0-9_.-]+;[a-z0-9_.-]*;[a-z0-9_.-]*}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 90 internautes nous ont dit merci ce mois-ci

Commenter la réponse de peug
Messages postés
234
Date d'inscription
mercredi 25 octobre 2000
Dernière intervention
5 octobre 2012
0
Merci
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 :(
Commenter la réponse de peug

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.