Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CLASSE POUR L'UTILISATION D'EXPRESSIONS RÉGULIÈRES


Information sur la source

Description

J'ai eu besoin d'utiliser des expressions régulières (cela permet un gain de lignes codes) donc voici la classe qui en résulte
 

Source

  • Public Class ExpRegulieres
  • Public Shared Function Replace(ByVal MaChaine As String, ByVal MonExpReg As String, ByVal CharRemplace As String) As String
  • Dim MaRegex As New System.Text.RegularExpressions.Regex("")
  • Dim tmpTxt As String = MaChaine & ""
  • tmpTxt = Regex.Replace(tmpTxt, MonExpReg, CharRemplace)
  • MaRegex = Nothing
  • Return tmpTxt
  • End Function
  • Public Shared Function Split(ByVal MaChaine As String, ByVal MonExpReg As String) As Array
  • Dim MaRegex As New System.Text.RegularExpressions.Regex("")
  • Dim table_tmpTxt As Array
  • table_tmpTxt = Regex.Split(MaChaine, MonExpReg)
  • MaRegex = Nothing
  • Return table_tmpTxt
  • End Function
  • ''' <summary>
  • ''' Renvoi un tableau du match de l'expression reguliere
  • ''' </summary>
  • ''' <param name="MaChaine">chaine a traité</param>
  • ''' <param name="MonExpReg">Expression régulière a appliquer</param>
  • ''' <returns>Tableau des string de résultat</returns>
  • ''' <remarks></remarks>
  • Public Shared Function Matches(ByVal MaChaine As String, ByVal MonExpReg As String) As ArrayList
  • Dim table_tmpTxt As New ArrayList
  • Dim MaRegExpMatch As System.Text.RegularExpressions.MatchCollection
  • MaRegExpMatch = Regex.Matches(MaChaine, MonExpReg, RegexOptions.IgnoreCase)
  • For i As Integer = 0 To MaRegExpMatch.Count - 1
  • table_tmpTxt.Add(MaRegExpMatch(i).Value.Trim.Replace("""""", """"))
  • Next
  • Return table_tmpTxt
  • End Function
  • ''' <summary>
  • ''' renvoi la chaîne correspondant à l'expression régulière
  • ''' </summary>
  • ''' <param name="MaChaine">chaine a traité</param>
  • ''' <param name="MonExpReg">Expression régulière a appliquer</param>
  • ''' <returns>le string résultat</returns>
  • ''' <remarks></remarks>
  • Public Shared Function Match(ByVal MaChaine As String, ByVal MonExpReg As String) As String
  • Dim MaRegex As New System.Text.RegularExpressions.Regex("")
  • Regex.Match(MaChaine, MonExpReg, RegexOptions.IgnoreCase)
  • Return Regex.Match(MaChaine, MonExpReg, RegexOptions.IgnoreCase).Value.Replace("""", "")
  • End Function
  • End Class
Public Class ExpRegulieres
        Public Shared Function Replace(ByVal MaChaine As String, ByVal MonExpReg As String, ByVal CharRemplace As String) As String
            Dim MaRegex As New System.Text.RegularExpressions.Regex("")
            Dim tmpTxt As String = MaChaine & ""
            tmpTxt = Regex.Replace(tmpTxt, MonExpReg, CharRemplace)
            MaRegex = Nothing
            Return tmpTxt
        End Function

        Public Shared Function Split(ByVal MaChaine As String, ByVal MonExpReg As String) As Array
            Dim MaRegex As New System.Text.RegularExpressions.Regex("")
            Dim table_tmpTxt As Array
            table_tmpTxt = Regex.Split(MaChaine, MonExpReg)
            MaRegex = Nothing
            Return table_tmpTxt
        End Function

        ''' <summary>
        ''' Renvoi un tableau du match de l'expression reguliere
        ''' </summary>
        ''' <param name="MaChaine">chaine a traité</param>
        ''' <param name="MonExpReg">Expression régulière a appliquer</param>
        ''' <returns>Tableau des string de résultat</returns>
        ''' <remarks></remarks>
        Public Shared Function Matches(ByVal MaChaine As String, ByVal MonExpReg As String) As ArrayList
            Dim table_tmpTxt As New ArrayList
            Dim MaRegExpMatch As System.Text.RegularExpressions.MatchCollection

            MaRegExpMatch = Regex.Matches(MaChaine, MonExpReg, RegexOptions.IgnoreCase)
            For i As Integer = 0 To MaRegExpMatch.Count - 1
                table_tmpTxt.Add(MaRegExpMatch(i).Value.Trim.Replace("""""", """"))
            Next
            Return table_tmpTxt
        End Function

        ''' <summary>
        ''' renvoi la chaîne correspondant à l'expression régulière
        ''' </summary>
        ''' <param name="MaChaine">chaine a traité</param>
        ''' <param name="MonExpReg">Expression régulière a appliquer</param>
        ''' <returns>le string résultat</returns>
        ''' <remarks></remarks>
        Public Shared Function Match(ByVal MaChaine As String, ByVal MonExpReg As String) As String
            Dim MaRegex As New System.Text.RegularExpressions.Regex("")
            Regex.Match(MaChaine, MonExpReg, RegexOptions.IgnoreCase)
            Return Regex.Match(MaChaine, MonExpReg, RegexOptions.IgnoreCase).Value.Replace("""", "")
        End Function

    End Class

Conclusion

Pour rappel :

REPLACE -> cette méthode remplace dans une chaîne les caractères (de cette même chaîne) validés par l'expression régilière par une autre chaîne - elle retourne une chaîne

SPLIT -> Cette méthode sert à découper une chaîne de caractères en fonction d’un séparateur, elle retourne un tableau

MATCH -> Recherche dans une chaîne d'entrée la première occurrence d'une expression régulière et la renvoi
MATCHES -> Recherche dans une chaîne d'entrée toutes les occurrences d'une expression régulière et retourne toutes les correspondances exactes comme si Match avait été appelé plusieurs fois.

 

Commentaires et avis

signaler à un administrateur
Commentaire de saizonou le 15/11/2006 15:50:27

Un site très pratique pour tester ses expressions régulières : http://www.toutjavascript.com/service/regexp.php

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Expression régulière correcte ?? [ par bolandfranck ] Bonjour,Je souhaite pouvoir récuperer la method, le name, l'id et l'action d'un formaulaire de page web, et cela grace à ue expression régulière.En av VBS : Expression régulière [ par parker13 ] Bonjour,Je cherche à faire une expression régulière capable de réaliser le formattage ci-dessous : NOM Prenom - SERVICE exemple : DURAND Gille Problème avec mon expression régulière [ par 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 retro Expression Régulière (Password) [ par Yogiyo ] Bonjour,J'aimerais utiliser une expression régulière pour tester un mot de passe utilisateur pour une connection à une appli VB6 lier à une base de do test d'expression régulière [ par molbento ] Bonjour je développe en vb6 et j'aimerais savoir comment faire pour tester un caractère fais parti d'une expression régulière définit ou non.  Pour ce [JS/Firefox-IE] Expression régulière [ par lteixeir ] Bonjour à tous ! Je travaille actuellement sur des champs textes qui doivent vérifier certaines conditions : s'écrire JJ/MM/ traduire une expression régulière en VB [ par XWinnieX ] Bonjour, comment faire pour traduire cette expression régulière en VB ?[0-9]+[.,][0-9]+En francais ca donne :au moins un chiffre suivi d'un point ou d expression régulière [ par bbmiam78 ] comment fonctionne submatches ?je n'arrive pas à comprendreBlocOB(indice).titre=mid((bloc.submatches(1), 1, len(bloc.submatches(1)) - 1 Expression régulière [ par vladam ] Bonjour,&nbsp;&nbsp;&nbsp;Les expressions r&#233;guli&#232;res ne sont pas mon fort :-(&nbsp;&nbsp;&nbsp;Je recherche une expression r&#233;guli&#232; Expression régulière .net2 [ par Willi ] Bonsoir &#224; tous,J'ai un petit soucis de d&#233;butant sur la forme du pattern dans les expression r&#233;guli&#232;res.J'ai une cha&#238;ne commen


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.