Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment utiliser RegExp sur Vb.net

    24 février 2011 à 20:33:47

    Bonjour je ne comprend mon n'erreur :
    L'exception System.MissingMemberException n'a pas été gérée
    Message=Le membre public 'Pattern' du type 'RegExp' est introuvable.
    Source=Microsoft.VisualBasic
    StackTrace:
    à Microsoft.VisualBasic.CompilerServices.Symbols.Container.GetMembers(String& MemberName, Boolean ReportErrors)
    à Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateSet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean OptimisticSet, Boolean RValueBase, CallType CallType)
    à Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateSet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments)
    à WindowsApplication1.Form1.InsertHyperlinks(Object inText) dans C:\Documents and Settings\Ken\mes documents\visual studio 2010\Projects\WindowsApplication5\WindowsApplication5\Form1.vb:ligne 53
    à WindowsApplication1.Form1.Button1_Click(Object sender, EventArgs e) dans C:\Documents and Settings\Ken\mes documents\visual studio 2010\Projects\WindowsApplication5\WindowsApplication5\Form1.vb:ligne 26
    à System.Windows.Forms.Control.OnClick(EventArgs e)
    à System.Windows.Forms.Button.OnClick(EventArgs e)
    à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    à System.Windows.Forms.Control.WndProc(Message& m)
    à System.Windows.Forms.ButtonBase.WndProc(Message& m)
    à System.Windows.Forms.Button.WndProc(Message& m)
    à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    à System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
    à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
    à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
    à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
    à System.Windows.Forms.Application.Run(ApplicationContext context)
    à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
    à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
    à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
    à WindowsApplication1.My.MyApplication.Main(String[] Args) dans 17d14f5c-a337-4978-8281-53493378c1071.vb:ligne 81
    InnerException:
    ...
    J'ai essayer de vouloir utiliser la fonction pattern de RegExp mais cela a echoué
    voici mon code :
    Function InsertHyperlinks(ByVal inText)
            Dim objRegExp, strBuf
            Dim objMatches, objMatch
            Dim Value, ReplaceValue, iStart, iEnd
            Dim i As Integer = 0
            strBuf = ""
            iStart = 1
            iEnd = 1
            objRegExp = New RegExp
    
            objRegExp.Pattern = "\b(www|http|\S+@)\S+\b"  ' Match URLs and emails
            objRegExp.IgnoreCase = True                   ' Set case insensitivity.
            objRegExp.Global = True                       ' Set global applicability.
            objMatches = objRegExp.Execute(inText)
            For Each objMatch In objMatches
                iEnd = objMatch.FirstIndex
                strBuf = strBuf & Mid(inText, iStart, iEnd - iStart + 1)
                If InStr(1, objMatch.Value, "@") Then
                    Imail(i) = objMatch.Value  ' strBuf = strBuf & GetHref(objMatch.Value, "EMAIL", "_BLANK")
                    i += 1
                Else
                    Siite(i) = objMatch.Value ' strBuf = strBuf & GetHref(objMatch.Value, "WEB", "_BLANK")
                    i += 1
                End If
                iStart = iEnd + objMatch.Length + 1
            Next
            strBuf = strBuf & Mid(inText, iStart)
            InsertHyperlinks = strBuf
        End Function
    

    Merci de vos réponse
    • Partager sur Facebook
    • Partager sur Twitter
      25 février 2011 à 0:34:22

      Je ne comprend pas beaucoup la syntaxe du VB, mais pour les regex, il est plus simple d'utiliser Regex.IsMatch(). :)
      • Partager sur Facebook
      • Partager sur Twitter
        25 février 2011 à 21:50:45

        sa te derangerais de me faire un petit exemple ?
        • Partager sur Facebook
        • Partager sur Twitter
          25 février 2011 à 22:30:46

          Citation : F0SS4IRE

          sa te derangerais de me faire un petit exemple ?


          C'est si difficile de cliquer sur le lien qu'il t'a donné pour accéder à la doc et à l'exemple qu'elle contient ? :euh:
          • Partager sur Facebook
          • Partager sur Twitter

          Comment utiliser RegExp sur Vb.net

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown