Instrregex : la fonction instr utilisant les expressions regulieres

Contenu du snippet

Le Framework.net ajoute un support avancé des Expressions Regulieres (Regex), vous pouvez voir comment elles fonctionnent et voir leur utilisation ici : http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpguide/html/cpconregularexpressionexamples.asp

Cette fonction fonctionne de la meme maniere que Instr, elle vous renvoit la position d'un mot dans une chaine, si le mot n'est pas dans cette chaine, elle revoit zéro, et si la regex passée en argument n'est pas valide, elle renvoit -1.

L'interret supplementaire de la chose ? La puissance des Regex ! C'est language presque a part entiere, qui permet des choses assez impressionantes.
Regardez l'exemple que je donne a la fin

Source / Exemple :


Public Function InStrRegex(ByVal String1 As String, ByVal StrRegex As String, Optional ByVal RegexOptions As System.Text.RegularExpressions.RegexOptions = System.Text.RegularExpressions.RegexOptions.None) As Integer
        Try
            Dim Regex As New System.Text.RegularExpressions.Regex(StrRegex, RegexOptions)
            Return Regex.Match(String1).Index
        Catch ex As Exception
            Return -1
        End Try
    End Function

    Public Function InStrRegex(ByVal Start As Integer, ByVal String1 As String, ByVal StrRegex As String, Optional ByVal RegexOptions As System.Text.RegularExpressions.RegexOptions = System.Text.RegularExpressions.RegexOptions.None) As Integer
        Try
            Dim Regex As New System.Text.RegularExpressions.Regex(StrRegex, RegexOptions)
            Return Regex.Match(String1, Start).Index
        Catch ex As Exception
            Return -1
        End Try
    End Function

Conclusion :


Exemple :

Verifier si une string contient une adresse mail :

MsgBox(InStrRegex("PLOP@PLOPY.Net","^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"))

Renvoit 1

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.