Accueil > Forum > > > > Problème avec mon expression régulière
Problème avec mon expression régulière
mardi 11 décembre 2007 à 09:24:33 |
Problème avec mon expression régulière

white_mage
|
Bon...ce message est un problème de vbScript mais il n'y a pas de catégorie.... Voilà mon soucis. J'utilise l'objet VBScript_RegExp_55.RegExp pour retrouver des valeur dans un text. Voici le format du text : xxxxx: text à retrouver yyyyy: autre text zzzzzz: encore un aaaaaaa: voilà le text que je n'arrive pas à retrouver car il contient des retour à la ligne Fin mon but, c'est de récupérer le text donc avec reg.Pattern = CeQueJeVeuxRetrouver & ": (.*)\r" Si CeQueJeVeuxRetrouver = "xxxxx", ca me renvoie text à retrouver etc....Le problème, c'est pour le "aaaaaaa" en effet, le caractère . représente tous les caractère sauf \r or le champs commence par un \r. Comment dois-je faire ??? je pensais faire qqch comme ça : reg.Pattern = CeQueJeVeuxRetrouver & ": (.*)Fin" mais forcément, vu que le . représente tous sauf \r ça ne fonctionne pas... Merci pour votre aide White_Mage();
|
|
mardi 11 décembre 2007 à 11:31:44 |
Re : Problème avec mon expression régulière

Renfield
|
Set oReg = CreateObject("....
oReg.Pattern = "...."
oReg.Multiline = True
tu peux utiliser :
http://www.vbfrance.com/codes/REGEXP-WORKSHOP_17331.aspx
pour tester ta regexp.
nb. il existe bien une section propre au VBS ^^
|
|
mardi 11 décembre 2007 à 13:25:30 |
Re : Problème avec mon expression régulière

JMO
|
 Bonjour à tous, Bonjour Renfield, il faut protéger le \en le doublant .ex: Option Explicit Const Texte = "00:08:17 S: DS \rOOUT OT *;" Const sChaine = "DS \\rOOUT" 'chaine recherchée Dim resultat If RegExpTest(sChaine, Texte) = True Then resultat = resultat &vbcrlf 'If RegExpTest(sChaine, Texte) = False Then msgbox "expression non trouvée...false" MsgBox resultat,,"resultat"
Function RegExpTest(patrn, strng) Dim regEx, Match, Matches, RetStr ' Crée la variable. Set regEx = New RegExp ' Crée une expression régulière. regEx.Pattern = patrn ' Définit les critères. regEx.IgnoreCase = True 'True ' Ignore la casse. regEx.Global = False ' Définit une application globale. Set Matches = regEx.Execute(strng) ' Lance la recherche. For Each Match in Matches ' Itère la collection Matches. resultat = "OK TROUVE" RegExpTest = True : Exit Function Next resultat = "NOK PAS TROUVE" RegExpTest = False End FunctionThème vbs: Thèmes
/ Visual Basic 6 / Langages dérivés / VBScriptjean-marc
|
|
mardi 11 décembre 2007 à 14:26:20 |
Re : Problème avec mon expression régulière

Renfield
|
'lut JMO
pas d'accord avec ton "\\r" on ne cherche pas la chaine \r proprement dite...
\r symbolise le saut de ligne...
j'utiliserai par exemple la regexp suivante:
^(\w+):\s*([^:]+)\s+$
en utilisant :
regEx.IgnoreCase = True
regEx.MultiLine = True
regEx.Global= True
ca découpe les chaines {clé}: {valeur}
même si la valeur est sur plusieurs lignes...
|
|
mardi 11 décembre 2007 à 17:23:46 |
Re : Problème avec mon expression régulière

JMO
|
 Re, Autant pour moi, Renfield, visu de la doc avec \s qui correspond à tout espace blanc, y compris l'espace, la tabulation, le saut de
page, etc. Équivaut à "[ \f\n\r\t\v]". Par contre, d'après la doc, le multiline existe en JScript mais n'est pas référencé en vbs. A confirmer. jean-marc
|
|
mardi 11 décembre 2007 à 20:29:03 |
Re : Problème avec mon expression régulière

Renfield
|
en vbs je sais pas, j'utilise le même objet depuis VB6 (VbScript RegExp) donc a priori, ca devrait rouler en VBS...
Renfield Admin CodeS-SourceS- MVP Visual Basic
|
|
vendredi 14 décembre 2007 à 09:55:33 |
Re : Problème avec mon expression régulière

white_mage
|
Réponse acceptée !
^(\w+):\s*([^:]+)\s+$ ne fonctionne pas mais c'est pas grâve car j'ai trouvé comment faire (c'est un peu de la bidouille mais bon)
En faisant un : text = Replace(text, Chr(10), " "), le caratère chr(13) se retrouve tout seul. Le caractère Chr(13) n'est pas considéré comme un retour à la ligne... donc après, on remet le caractère Chr(10) et c'est bon...
White_Mage();
|
|
vendredi 14 décembre 2007 à 09:56:11 |
Re : Problème avec mon expression régulière

white_mage
|
En tout cas, merci pour votre aide !
White_Mage();
|
|
vendredi 14 décembre 2007 à 21:34:42 |
Re : Problème avec mon expression régulière

Renfield
|
ca aurait du fonctionner, as tu bien configurer le MultiLine ?
Renfield Admin CodeS-SourceS- MVP Visual Basic
|
|
mardi 18 décembre 2007 à 17:24:01 |
Re : Problème avec mon expression régulière

white_mage
|
Oui...le multiline était configuré... Je n'ai plus trop le temps de tester mais je le ferai à l'occase
Merci pour ton aide....et a+ White_Mage();
|
|
Cette discussion est classée dans : problème, text, expression, régulière, cequejeveuxretrouver
Répondre à ce message
Sujets en rapport avec ce message
Problème SQL [ par Evangelion ]
J'exécute la requête SQL suivante avec un objet ADODC.Command. cmdContacts.CommandText = "SELECT * FROM Suivi WHERE Nom = '" & datcboNom.Text & "' AND
Gros problème...Résultat opération.... [ par Chricl ]
je suis débutant et je rencontre le problème suivant:d = Text1.Textintschilling = dschilling = intschilling / 200.482schillingue = schilling * 6.55957
Problème d'enregistrer des textbox [ par Etienne ]
Comment fait-on pour enregistrer plusieurs textbox dans un fichier text, avec chaque text des textbox par ligne, avec la commande commondialog ? Etien
***MAYDAY**** [ par JoBlo ]
Hello a tous !J'ai un petit problème.Dans un programme, je dois écrire un texte dans un textbox. Par la suite, je dois faire apparaitre tout mon text
**encore besoin d'aide** [ par JoBlo(encore) ]
Rebonjour tous ! Merci beaucoup pour votre précédente aide. j'ai encore un petit problème pour vous !La situation : j'ai 3 text box et un command but
Problème avec fichier text [ par PtitJeoJeo ]
Tout d'abord merci de m'accorder un peu de ton temps !Alors voila mon problème :Je voudrais écrire dans un fichier text comme ceciopen "c:\essai.txt"
problème newbie de varibles [ par ganja120 ]
Bonjour,Comment fait-on pour mettre des variables avec du texte?textePrivate Sub Command2_Click()heurevar = heure.Textminutevar = minute.Textsecondeva
Problème de copie ! [ par z980x ]
J'ai avancé par rapport à mon ancient problème mais je n'ai pas encore trouvé la bonne solution.Voici mes lignes de codes :accès = "Text1.Text"Fichier
problème de zone de text vide [ par dauphin70 ]
bonjourvoici mon probleme sous vb6:dans mon programme il existe certaines zones de texte ou des DTPicker qu'on est pas forcé de remplir, mais le probl
Problème de fractionnement de ligne [ par opus32 ]
Bonjour, j'ai un message d'erreur que je ne comprend pas suite au fractionnement d'une ligne trop longue : DB.Execute "CREATE TABLE T_Client( _
Livres en rapport
|
Derniers Blogs
DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|