Jesteś obecnie w trybie offline. Czekamy na ponowne połączenie z Internetem.

JAK: Korzystanie z wyrażeń regularnych w programie Microsoft Visual Basic 6.0

Wersja tego artykułu dla programu Microsoft Visual Basic .NET: 301264.

Wersja tego artykułu dla programu Microsoft Visual C# .NET: 308252.

W TYM ZADANIU

Streszczenie
W tym artykule jest opisany krok po kroku sposób tworzenia wyrażeń regularnych i wykorzystywania ich w celu ustalenia, czy ciągi pasują do określonych wzorców. Za pomocą wyrażeń regularnych można przeprowadzić prostą analizę ciągów i dopasować je do określonego wzorca. Przy użyciu obiektów dostępnych w bibliotece wyrażeń regularnych Microsoft VBScript Regular Expressions 5.5 można porównać ciąg z określonym wzorcem, zastąpić wzorzec ciągu innym ciągiem lub pobrać tylko niektóre części sformatowanego ciągu. W tym artykule omówiono sposób konstruowania wzorca umożliwiającego analizę ciągu zawierającego wiele wystąpień tego samego wzorca.

Powrót do początku

Wymagania


Poniżej przedstawiono listę wymaganych elementów, takich jak sprzęt, oprogramowanie, infrastruktura sieci i dodatki Service Pack:
  • Program Microsoft Visual Basic 6.0
W artykule założono, że czytelnik zna następujące zagadnienia:
  • Program Visual Basic 6.0
  • Składnia wyrażenia regularnego
Powrót do początku

Dopasowywanie wzorca przy użyciu wyrażeń regularnych



W programie Visual Basic 6.0 obiekt RegExp dopasowuje wzorzec za pomocą wyrażeń regularnych. Poniżej podano właściwości obiektu RegExp. Stanowią one wzorzec umożliwiający porównywanie ciągów przekazywanych do wystąpienia obiektu RegExp:
  • Pattern: Ciąg definiujący wyrażenie regularne.
  • IgnoreCase: Właściwość logiczna określająca, czy należy przetestować wyrażenie regularne przez jego zestawienie ze wszystkimi możliwymi kombinacjami w ciągu.
  • Global: Ustawia wartość logiczną lub zwraca wartość logiczną wskazującą, czy wzorzec musi być zgodny ze wszystkimi wystąpieniami w całym przeszukiwanym ciągu, czy tylko z pierwszym wystąpieniem.
  • RegExp: Udostępnia następujące metody umożliwiające określenie, czy ciąg jest zgodny z konkretnym wzorcem wyrażenia regularnego:
    • Test: Zwraca wartość logiczną wskazującą, czy można dopasować wyrażenie regularne do ciągu.
    • Execute: Zwraca obiekt MatchCollection zawierający obiekt Match dla każdej zakończonej pomyślnie operacji dopasowania.
Aby dopasować ciąg do wyrażenia regularnego, wykonaj następujące kroki:
  1. Ustaw wyrażenie regularne przy użyciu metody Pattern obiektu RegExp.
  2. Uzyskaj ciąg, aby zbadać go za pomocą wzorca.
  3. Ustaw właściwość IgnoreCase obiektu RegExp na wartość True.
  4. Przekaż ciąg uzyskany w kroku 2 jako argument do metody Execute obiektu RegExp.
  5. Przypisz zwróconą wartość metody Execute do obiektu MatchCollection.

    W obiekcie MatchCollection znajdują się informacje o dopasowanych ciągach.

Uwaga: Aby ustalić, czy ciąg pasuje do określonego wyrażenia regularnego, można również użyć metody Test.

Powrót do początku

Przykład krok po kroku

  1. Uruchom program Microsoft Visual Basic 6.0.
  2. W menu File kliknij polecenie New Project.
  3. W oknie dialogowym New Project kliknij pozycję Standard Exe, a następnie kliknij przycisk OK.

    Domyślnie zostanie utworzony formularz Form1.
  4. W menu Project kliknij polecenie References.
  5. Kliknij dwukrotnie pozycję Microsoft VBScript Regular Expressions 5.5, a następnie kliknij przycisk OK.
  6. Kliknij dwukrotnie przycisk CommandButton w przyborniku.

    Domyślnie do formularza zostanie dodany przycisk Command1.
  7. Kliknij dwukrotnie przycisk Command1, aby otworzyć okno kodu.
  8. Wklej następujący kod w procedurze obsługi zdarzeń Command1_Click:
    MsgBox(TestRegExp("is.", "IS1 is2 IS3 is4"))
    Uwaga: W tym przykładzie wzorzec is. jest porównywany z ciągiem „IS1 is2 IS3 is4”. Można użyć kropki (.) jako symbolu wieloznacznego, aby dopasować jeden dodatkowy znak i wyświetlić go we wzorcu wyszukiwania. Po dodaniu dwóch kropek do wzorca wyszukiwania zostaną wyświetlone dwa dodatkowe znaki. Jeśli nie zostaną dodane żadne kropki, wyświetlony zostanie tylko wzorzec wyszukiwania.
  9. Dodaj następującą funkcję za procedurą obsługi zdarzeń Command1_click:
    Function TestRegExp(myPattern As String, myString As String)   ' Utwórz obiekty.   Dim objRegExp As RegExp   Dim objMatch As Match   Dim colMatches   As MatchCollection   Dim RetStr As String      ' Utwórz obiekt wyrażenia regularnego.   Set objRegExp = New RegExp   'Ustaw wzorzec przy użyciu właściwości Pattern.   objRegExp.Pattern = myPattern   ' Ustaw ignorowanie wielkości liter.   objRegExp.IgnoreCase = True   'Ustaw właściwość Global.   objRegExp.Global = True   'Sprawdź, czy ciąg można porównać.   If (objRegExp.Test(myString) = True) Then   'Pobierz dopasowania.    Set colMatches = objRegExp.Execute(myString)   ' Rozpocznij wyszukiwanie.    For Each objMatch In colMatches   ' Powtórz kolekcję dopasowań.      RetStr = RetStr & "Znaleziono dopasowanie na pozycji "      RetStr = RetStr & objMatch.FirstIndex & ". Wartość dopasowania to '"      RetStr = RetStr & objMatch.Value & "'." & vbCrLf    Next   Else    RetStr = "Dopasowanie ciągu nie powiodło się"   End If   TestRegExp = RetStrEnd Function
  10. W menu Run kliknij polecenie Start, aby uruchomić aplikację.
  11. Kliknij przycisk Command1.

    Zostanie wyświetlone pole komunikatu, w którym zostaną zwrócone wszystkie wystąpienia wyrażenia is w ciągu IS1 is2 IS3 is4.
Powrót do początku
Właściwości

Identyfikator artykułu: 818802 — ostatni przegląd: 07/12/2006 10:37:19 — zmiana: 3.0

  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • kbprogramming kbstring kbhowtomaster KB818802
Opinia