IT编程技术

天行健,君子以自强不息;地势坤,君子以厚德载物;

ExcelVBA实战【第二期】-浅谈正则(一)什么是正则如何调用以及正则的方法属性

2021-2-8 博主:Splendor EXCEL VBA实战

正则匹配

今天聊聊Excel VBA中的正则,什么是正则呢?用一句粗俗的话说,就是按你指定的正确的规则(正则表达式)去匹配出一大段文字中你想要的同类型字符串,然后提取或替换。这就相当你编织了一个过滤网,凡是符合你这个网空大小的东西就可以被过滤出来。
  • 正则表达式是用来简洁表达一组字符串的表达式。
  • 正则表达式是通用的字符串表达框架。
  • 正则表达式是简洁表达一组字符串的表达式。
  • 正则表达式是针对字符串表达“简洁”和“特征”思想的工具。
  • 正则表达式可以用来判断某字符串的特征归属。
举个例子:
我想从下面过万条的字符串中提取工资信息合计总工资,有的朋友可能说我用函数,我用VBA循环这都没毛病条条大路通罗马,但是前两种你需要写很繁琐的通用算法去进行提取,而使用正则你只需要写一个通用正则表达试就可以调用正则引擎去帮你筛选出你要的数据。

王* 本月工资费3300.5元,扣除饭199元

张* 本月工资数2500元,扣除请假299元
赵* 本月工资4500元,扣除其它1000元
              .
              .
              .

如何在VBA中调用正则呢?
1,前期绑定法  '点击 VBE编辑器菜单:工具 - 引用,选取: Microsoft VBScript Regular Expressions 5.5,引用后在程序开始进行如下声明 
Sub dimReg() 
       Dim reg As New RegExp 
End Sub 
2,后期绑定法
Public sub dimReg()
   Dim regex As Object 
   Set regex = CreateObject("VBScript.RegExp")
End Sub

正则的属性和方法

1.PNG

注:本站提供在线正则表达式测试工具请访问下面链接
http://www.excelstudy.icu/regex/

标签: ExcelVBA实战