VBA中的正则表达式(一)

VBA中的正则表达式(一)

——Global属性

1. 正则表达式的用处

从给定的文本中,找到符合正则表达式规则的文本,并提取出来。例如从一串字符串中找到电话号码、找到邮箱地址等。

上述是正则表达式的其中一个用法

2. 正则表达式对象引入

Sub regular_study()
    '创建正则表达式对象,并命名为re
    Dim re As Object
    Set re = CreateObject("VBScript.RegExp")
End Sub

3. Global属性的作用

Global属性只有两个可选状态,True或False。

Global属性案例

Sub regular_study()
    '创建正则表达式对象,并命名为re
    Dim re As Object
    Set re = CreateObject("VBScript.RegExp")
    With re
        .Global = True'.Global = False
        'mytxt为案例的文本
        mytxt = "宏蜘蛛欢迎你!下面开始学习宏蜘蛛正则表达式教程。"
        'Pattern,表示查找mytxt文本中是否有“宏蜘蛛”
        .Pattern = "宏蜘蛛"
        '将查找的结果赋值给myresults,返回的结果是个数组
        Set myresults = .Execute(mytxt)
        For Each myresult In myresults
            Debug.Print myresult
        Next
        Debug.Print "mytxt字符串中(宏蜘蛛)的个数为:" & myresults.Count
    End With
End Sub

为True时的输出结果↓

全文有两处“宏蜘蛛”,已全部匹配出来。

宏蜘蛛
宏蜘蛛
mytxt字符串中(宏蜘蛛)的个数为:2

为False时的输出结果↓

全文有两处“宏蜘蛛”,只匹配一处。

宏蜘蛛
mytxt字符串中(宏蜘蛛)的个数为:1

4.Global属性总结

当Global为True时,可以匹配整个字符串中,所有与正则表达式规则相符的文本;为False时, 只匹配第一次出现的文本(默认值是False)。

  • 本文章,首发于微信公众号:宏蜘蛛,原文链接:VBA中的正则表达式(一)

你可能感兴趣的:(正则表达式)