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中的正则表达式(一)