VBScript.RegExp 正則表達式excel vba 學習經驗


1) 手動引用(前期綁定)
   點擊VBE編輯器菜單:工具 - 引用,選取:
Microsoft VBScript Regular Expressions 5.5
   Dim regex As
New InternetExplorer

2)
代碼引用(后期綁定)
   Dim regex As Object
   Set regex =
CreateObject("VBScript.RegExp")


1) Global 屬性
  
False,如果找到匹配的字符,就停止搜索(默認值)
   True ,搜索字符串中全部字符
    Sub
r_1()
        Dim regex As
Object
        Dim x As String
        x
= "a1b2c3"
        Set regex =
CreateObject("VBScript.RegExp")
        With
regex
            .Global
= True    
'返回"a#b#c#"
'            .Global
=
False    '返回"a#b2c3"
            .Pattern
= "\d"    '數字字符匹配
            MsgBox
.Replace(x, "#")
        End With
    End Sub


2) IgnoreCase 屬性
  
如果搜索是區分大小寫的,為False(缺省值)
   True不分
    Sub
r_2()
        Dim regex As
Object
        Dim x As String
        x
= "a1A2"
        Set regex =
CreateObject("VBScript.RegExp")
        With
regex
            .Global
= True
            .IgnoreCase
= True     '返回"#1#2"
    '        .IgnoreCase
=

False    '返回"ab#2"
            .Pattern
= "A"    '數字字符匹配
            MsgBox
.Replace(x, "#")
        End With
    End Sub

3) Multiline 屬性
  
返回正則表達式是否具有標志m , 缺省值為False
    Sub
r_3()
        Dim regex As
Object
        Dim x As String
        x
= "a1b2" & Chr(13) &
"c3d4"
        Set regex =
CreateObject("VBScript.RegExp")
        With
regex
            .Global
= True
'            .MultiLine
=
True
            .Pattern
=
"\d+$"
            MsgBox
.Replace(x, "#")
        End With
    End Sub

4) Pattern 屬性
  
一個字符串,用來定義正則表達式。缺省值為空文本。

5) Execute 方法
   返回一個
MatchCollection 對象,該對象包含每個成功匹配的 Match 對象。
   Sub
r_5()
        Dim regex As
Object
        Dim matchs As
Object, match As Object
        Dim x As String, y As
String
        x
= "a1b2c3"
        Set regex =
CreateObject("VBScript.RegExp")
        With
regex
            .Global
= True
            .Pattern
= "\d" '匹配數字
            Set matchs =
.Execute(x)
            For Each match
In
matchs
                y
= y &
match
            Next
        End With
        MsgBox
y    'y返回123
    End Sub

6) Test 方法
  
返回一個布爾值,該值指示正則表達式是否與字符串成功匹配。
    Sub
r_6()
        Dim regex As
Object
        Dim x As String, y As
String
        Dim i As Integer
        x
= "a1b2c3"
        Set regex =
CreateObject("VBScript.RegExp")
        With
regex
            .Global
= True
            .Pattern
=
"\d"
            For i = 1 To
Len(x)
                If .Test(Mid(x, i, 1)) Then y = y & Mid(x, i,
1)
            Next
i
        End With
        MsgBox
y    'y返回123
    End Sub


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM