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

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 818802 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

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.



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


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.

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 = RetStr
    End 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.

Materiały referencyjne

Aby uzyskać więcej informacji, odwiedź następujące witryny MSDN w sieci Web:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/ab0766e1-7037-45ed-aa23-706f58358c0e.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/2380d458-3366-402b-996c-9363906a7353.asp

Właściwości

Numer ID artykułu: 818802 - Ostatnia weryfikacja: 12 lipca 2006 - Weryfikacja: 3.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 6.0 Professional Edition
Słowa kluczowe: 
kbprogramming kbstring kbhowtomaster KB818802

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com