HOWTO: Microsoft Visual Basic 6.0에서 정규식 사용

기술 자료 번역 기술 자료 번역
기술 자료: 818802 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 문자열이 특정 패턴과 일치하는지 여부를 알려주는 정규식을 만들고 사용하는 방법을 단계별로 설명합니다. 정규식을 사용하면 간단하게 문자열을 구문 분석하고 특정 패턴에 맞출 수 있습니다. Microsoft VBScript Regular Expressions 5.5 라이브러리에서 사용할 수 있는 개체를 사용하면 문자열과 특정 패턴을 비교하고 다른 문자열로 문자열 패턴을 바꾸거나 서식이 지정된 문자열의 일부만 검색할 수 있습니다. 이 문서에서는 같은 패턴의 여러 인스턴스가 포함된 문자열을 구문 분석하는 패턴을 만드는 방법을 설명합니다.



요구 사항


다음은 권장되는 하드웨어, 소프트웨어 및 네트워크 인프라와 필요한 서비스 팩의 목록입니다.
  • Microsoft Visual Basic 6.0
이 문서에서는 사용자가 다음 내용을 잘 알고 있는 것으로 가정합니다.
  • Visual Basic 6.0
  • 정규식 구문


정규식을 사용하여 패턴 맞추기



Visual Basic 6.0에서 RegExp 개체는 정규식을 사용하여 패턴을 맞춥니다. RegExp에서 다음 속성을 제공합니다. 이러한 속성은 RegExp 인스턴스에 전달된 문자열을 비교하도록 패턴을 설정합니다.
  • Pattern: 정규식을 정의하는 문자열입니다.
  • IgnoreCase: 문자열에서 일치할 수 있는 모든 경우에 대해 정규식을 테스트해야 할지 여부를 나타내는 Boolean 속성입니다.
  • Global: 패턴이 전체 검색 문자열에서 발생할 수 있는 모든 경우에 맞추어야 할지 아니면 첫 번째 경우에만 맞추어야 할지를 나타내는 Boolean 값을 설정하거나 반환합니다.
  • RegExp: 다음 메서드를 제공하여 문자열이 정규식의 특정 패턴에 맞출지 여부를 결정합니다.
    • Test: 정규식을 문자열에 성공적으로 맞출 수 있는지 여부를 나타내는 Boolean 값을 반환합니다.
    • Execute: 성공적으로 맞춘 각각의 경우에 대해 Match 개체를 포함하는 MatchCollection 개체를 반환합니다.
문자열을 정규식에 맞추려면 다음 단계를 수행합니다.
  1. RegExp 개체의 Pattern 메서드를 사용하여 정규식을 설정합니다.
  2. 해당 문자열을 구하여 패턴을 조사합니다.
  3. RegExp 개체의 IgnoreCase 속성을 True로 설정합니다.
  4. 2단계에서 인수로 얻은 문자열을 RegExp 개체의 Execute 메서드로 전달합니다.
  5. Execute 메서드의 리턴 값을 MatchCollection 개체에 할당합니다.

    MatchCollection 개체에는 일치하는 문자열에 대한 정보가 들어 있습니다.

참고Test 메서드를 사용하여 문자열이 특정 정규식과 일치하는지 여부를 확인합니다.

단계별 예제

  1. Microsoft Visual Basic 6.0을 시작합니다.
  2. 파일 메뉴에서 새 프로젝트를 누릅니다.
  3. 새 프로젝트 대화 상자에서 표준 EXE를 누른 다음 확인을 누릅니다.

    기본적으로 Form1이 만들어집니다.
  4. 프로젝트 메뉴에서 참조를 누릅니다.
  5. Microsoft VBScript Regular Expressions 5.5를 두 번 누른 다음 확인을 누릅니다.
  6. 도구 상자에서 CommandButton을 두 번 누릅니다.

    기본적으로 Command1이 폼에 추가됩니다.
  7. Command1을 두 번 눌러 코드 창을 엽니다.
  8. Command1_Click 이벤트 처리기에 다음 코드를 붙여 넣습니다.
    MsgBox(TestRegExp("is.", "IS1 is2 IS3 is4"))
    참고 이 예에서 "IS1 is2 IS3 is4" 문자열에 대해 is. 패턴이 확인됩니다. 추가 문자 하나가 검색 패턴과 일치하고 검색 패턴과 함께 표시되도록 특수 문자 마침표(.)를 와일드 카드 문자로 사용할 수 있습니다. 두 개의 마침표를 검색 패턴에 추가하면 두 개의 추가 문자를 볼 수 있습니다. 마침표를 사용하지 않으면 해당 검색 패턴만 봅니다.
  9. Command1_click 이벤트 처리기 다음에 다음 함수를 추가합니다.
    Function TestRegExp(myPattern As String, myString As String)
       'Create objects.
       Dim objRegExp As RegExp
       Dim objMatch As Match
       Dim colMatches   As MatchCollection
       Dim RetStr As String
       
       ' Create a regular expression object.
       Set objRegExp = New RegExp
    
       'Set the pattern by using the Pattern property.
       objRegExp.Pattern = myPattern
    
       ' Set Case Insensitivity.
       objRegExp.IgnoreCase = True
    
       'Set global applicability.
       objRegExp.Global = True
    
       'Test whether the String can be compared.
       If (objRegExp.Test(myString) = True) Then
    
       'Get the matches.
        Set colMatches = objRegExp.Execute(myString)   ' Execute search.
    
        For Each objMatch In colMatches   ' Iterate Matches collection.
          RetStr = RetStr & "Match found at position "
          RetStr = RetStr & objMatch.FirstIndex & ". Match Value is '"
          RetStr = RetStr & objMatch.Value & "'." & vbCrLf
        Next
       Else
        RetStr = "String Matching Failed"
       End If
       TestRegExp = RetStr
    End Function
  10. 실행 메뉴에서 시작을 눌러 응용 프로그램을 실행합니다.
  11. Command1을 누릅니다.

    IS1 is2 IS3 is4 문자열에서 is가 발생하는 모든 경우를 반환하는 메시지 상자가 표시됩니다.

참조

자세한 내용은 다음 MSDN 웹 사이트를 방문하십시오.
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




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 818802 - 마지막 검토: 2006년 7월 12일 수요일 - 수정: 3.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 6.0 Professional Edition
키워드:?
kbhowtomaster kbprogramming kbstring KB818802

피드백 보내기

 

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