vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Variablen/Strings · Sonstiges   |   VB-Versionen: VB604.10.04
Reguläre Ausdrücke mit VB6

Auch wenn VB selbst das Benutzen von "regulären Ausdrücken" nicht unterstützt, gibt es für VB6-Entwickler dennoch eine Möglichkeit!

Autor:   Stefan MährBewertung:     [ Jetzt bewerten ]Views:  21.667 
www.visualsoft-net.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Reguläre Ausdrücke sind eine mächtige Suchsprache, mit der sich auch komplizierte Abfragen auf große Textdokumente durchführen lassen. Regex-Abfragen sind aber nicht nur .NET Programmieren vorbehalten, sondern lassen sich auch von VB6 Entwicklern via der vbscript.dll nutzen.

Öffnen Sie eine Standard-Exe Projekt.

Benötigte Verweise:

  • Microsoft VBScript Regular Expressions 5.5 (system32/vbscript.dll/3)

    Platzieren Sie auf die Form folgende Steuerelemente:

    1. Richtextbox (txtValidate)
    2. Commandbutton (cmdValidate)
    3. Textbox (txtRegex)

    Code:

    Option Explicit
     
    Private Sub Form_Load()
      ' -> Hier legen wir unseren Testtext fest.
      ' Sie können diesen natürlich beliebig verändern
      txtValidate.Text = "Wir finden ein paar Wörter in einem Text" & _
        vbCrLf & "Wie benütze ich Regular Expressions in VB6?"
    End Sub
    ' Fundstellen farblich kennzeichnen
    Private Sub cmdValidate_Click()
      Dim oRegex As RegExp
      Dim m As Match
      Dim strPattern As String
     
      ' --> Pattern einlesen und prüfen
      strPattern = txtRegex.Text
      If Len(Trim(strPattern)) = 0 Then Exit Sub
     
      On Error GoTo ErrHandler
     
      ' --> die Selectionfarbe der Richtextbox zurücksetzen
      With txtValidate
        .SelStart = 1
        .SelLength = Len(.Text)
        .SelColor = vbBlack
      End With
     
      ' --> "Regular-Expression"-Objekt erstellen
      Set oRegex = New RegExp
      With oRegex
        .Pattern = strPattern
        .Global = True
     
        ' --> Alle Matches durchlaufen
        For Each m In .Execute(txtValidate.Text)
          ' --> Gefundene Einträge in der Richtextbox markieren
          With txtValidate
            .SelStart = m.FirstIndex
            .SelLength = m.Length
            .SelColor = vbRed
          End With
        Next 
      End With
     
      ' --> Regex Objekt zerstören
      Set oRegex = Nothing
      Exit Sub
     
    ErrHandler:
      MsgBox Err.Description & vbCrLf & Err.Number, vbCritical + vbOKOnly, "Error"
      Set oRegex = Nothing
      Err.Clear
    End Sub

    Nun kommen wir zum Ausdruck für die Abfrage selbst.

    Starten Sie das Projekt probieren einmal folgende "Abfragen" aus:

    VB        -> suche nach dem Wort VB im Text
    i         -> sucht alle „i" im Text
    [0-9]     -> sucht alle numerischen Werte im Text
    (ein|ich) -> sucht alle "ein" und "ich" im Text

  • Dieser Tipp wurde bereits 21.667 mal aufgerufen.

    Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

    Über diesen Tipp im Forum diskutieren
    Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

    Neue Diskussion eröffnen

    nach obenzurück


    Anzeige

    Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
    (einschl. Beispielprojekt!)

    Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
    - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
    - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
    Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
     
       

    Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
    Alle Rechte vorbehalten.
    Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

    Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel