VBA入门到进阶常用知识代码总结37

第37集 正则表达式1
160、 正则表达式定义、作用
正则表达式是处理字符串的外部工具,它可以根据设置的字符串对比规则,进行字符串的对比、替换等操作。

正则表达式的作用:
1、完成复杂的字符串判断
2、在字符串判断时,可以最大限度的避开循环,从而达到提高运行效率的目的。
161、 创建方法
1、引用法(前期绑定)
点击VBE编辑器菜单:工具 - 引用,选取: Microsoft VBScript Regular Expressions 5.5,引用后在程序开始进行如下声明:
Dim regex As New RegExp
2、直接他建法(后期绑定)
Dim regex As Object
Set regex = CreateObject(“VBScript.RegExp”) '创建正则对象
162、 常用属性、方法
Global属性:
如果值为true,则搜索全部字符
如果值为False,则搜索到第1个即停止
Sub t3()
Dim reg As New RegExp
Dim sr
sr = “ABCEA”
With reg
.Global = True
.Pattern = “A”
Debug.Print .Replace(sr, “”)
End With
End Sub
运行结果:BCE
IgnoreCase 属性:
'如果搜索是区分大小写的,为False(缺省值),True不分大小写
Pattern 属性:
’ 一个字符串,用来定义正则表达式。缺省值为空文本。
Multiline 属性,字符串是不是使用了多行,如果是多行,KaTeX parse error: Expected 'EOF', got '&' at position 96: … sr = "AEA" &̲ Chr(10) & "ABC…"
.Pattern = “^A”
Debug.Print .Replace(sr, “”)
End With
End Sub
运行结果:
EA
BCA
Execute 方法:
'返回一个 MatchCollection 对象,该对象包含每个成功匹配的 Match 对象,
'返回的信息包括:
'FirstIndex:开始位置
'Length; 长度
'Value:长度
Sub t5()
Dim reg As New RegExp
Dim sr, matc
sr = “A454BCEA5”
With reg
.Global = True
.Pattern = “A\d+”
Set matc = .Execute(sr)
End With
Stop
End Sub
在这里插入图片描述

   Function ns(rg)
     Dim reg As New RegExp
     Dim sr, ma, s, m, x
     With reg
       .Global = True
       .Pattern = "\d*\.?\d*"
     Set ma = .Execute(rg)
       For Each m In ma
          s = s + Val(m)
       Next m
     End With
    ns = s
   ' Stop
   End Function

Text方法:
'返回一个布尔值,该值指示正则表达式是否与字符串成功匹配。其实就是判断两个字符串是否匹配成功
Sub t7()
Dim reg As New RegExp
Dim sr
sr = “BCR6EA”
With reg
.Global = True
.Pattern = “\d+”
If .test(sr) Then MsgBox “字符串中含有数字”
End With
End Sub

发布了47 篇原创文章 · 获赞 0 · 访问量 209

猜你喜欢

转载自blog.csdn.net/tiansdk320/article/details/104365618