Testeur de regex (regular expressions)


Description

Voici un petit prog que je m'étais fait pour tester mes regex quand j'ai développé http://newsgroup.codes-sources.com/ (voir la colorisation des messages sur ce site pour comprendre l'utilité) car c bien pratique les regex mais des fois, faut un peu faire du essai/echec pour arriver à ce que l'on veut faire :-)
Les regex ont l'avantage d'être très rapide et si on les maîtrise bien, on peut faire des choses vraiment puissantes avec avec un temps d'éxécution minime.

Source / Exemple :


' Voir le zip mais voici le code qui est dans le frm

Option Explicit
    Private ObjRegex
    Private ObjRegexTrouve

Private Sub Command1_Click()
    On Error Resume Next
    Err.Clear
    
    Dim TmpTxtHTML, i
    
    Set ObjRegex = New RegExp
    
    TmpTxtHTML = Me.TxtHTML
    Me.TxtResultat.Text = ""
    Me.TxtResultat2.Text = ""
    
    ObjRegex.Global = True
    ObjRegex.IgnoreCase = True
    
    ' Définition de la patern
    ObjRegex.Pattern = "" & Me.TxtReg & ""
    
    ' Remplacement des occurences
    TmpTxtHTML = ObjRegex.Replace(TmpTxtHTML, Me.TxtRegRepl.Text)
    Me.TxtResultat = TmpTxtHTML
        
    TmpTxtHTML = Me.TxtHTML
    
    ' Définition de la patern
    ObjRegex.Pattern = "" & Me.TxtReg & ""
    ' Execution de la Regex
    Set ObjRegexTrouve = ObjRegex.Execute(TmpTxtHTML)
    
    ' Pour chaque occurence trouvé, on met Occurence N° devant
    If ObjRegexTrouve.Count > 0 Then
        For i = 0 To ObjRegexTrouve.Count - 1
            DoEvents
            Me.TxtResultat2 = Me.TxtResultat2 & vbCrLf & "[Occurence " & i & "]" & ObjRegexTrouve(i).Value
        Next
    Else
        Me.TxtResultat2 = TmpTxtHTML
    End If
    
    ' S'il y a une erreur dans la regex, on l'affiche dans une msgBox
    If Err.Number <> 0 Then MsgBox ("Erreur dans le regex : " & vbCrLf & Err.Description)
End Sub

Conclusion :


N'oubliez pas de faire référence à "Microsoft VBScript Regular Expression 5.5" (ou 5.6 selon la version que vous avez :)
Si vous n'avez pas ça, dans la liste des références, alors, allez télécharger la dernière version de "Windows script" (5.6 actuelement sur : http://www.microsoft.com/france/scripting/ )

P.S : JE NE SUIS PAS UN EXPERT DES REGEX alors si vous avez des questions à ce sujet, ne me les posez pas, vous n'aurez pas de réponse :) (posez-les dans le forum, merci)
P.S2 : J'en ferai une version ASP d'ici peu pour ceux que ça intéresse (je la mettrai sur www.aspfr.com biensûr ;-) )

Codes Sources

A voir également

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.