엑셀 정규 표현식

엑셀에서 정규 표현식을 쓸 경우가 있다. 정규 표현식이 아니면 엄청 괴로울 수 있다. 고맙게도 선구자가 고민하여 공유했다. 감사합니다. 잘 쓰겠습니다. 위 사이트에서 가져온 코드다.

Function RegexExecute(r As Range, p As String, Optional g As Boolean = False) As Variant     On Error GoTo ErrHandler
    
    Dim str As String, ptn As String
    str = CStr(r.Cells(1, 1).Value)
    ptn = CStr(p)
    
    Set regex = CreateObject("VBScript.RegExp")
    With regex
        .IgnoreCase = False
        .MultiLine = False
        .Global = g
        .Pattern = ptn
    End With          If regex.Test(str) Then         Set matches = regex.Execute(str)
        Dim temp As String
        temp = ""         For Each Match In matches
            temp = temp & Match
        Next
        RegexExecute = temp
        Exit Function
    End If
    
ErrHandler:
    RegexExecute = CVErr(xlErrNA)
End Function

코멘트

댓글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.