excel 正则表达式用法

Private Sub RegEx_Replace()
 
     Dim myRegExp As Object
     Dim Myrange As Range, C As Range
 
     Set myRegExp = CreateObject("vbscript.regexp")
     Set Myrange = ActiveSheet.Range("A1:A6")
 
     For Each C In Myrange
         myRegExp.Pattern = "^\d+.\s*"
         Set myMatches = myRegExp.Execute(C.Value)
         If myMatches.Count >= 1 Then
             Set myMatch = myMatches(0)
             C.Value = myRegExp.Replace(C.Value, "")
         End If         
     Next
End Sub
其原理主要是通过创建正则式对象并执行相应的正则式以实现查找/替换的目的,过程如下:
  1. 声明正则式对象;
  2. 赋值给该对象,包括全局性、大小写模式、正则式内容;
  3. 执行正则表达式。
  4. 执行正则表达式时,我们有3种函数可用:Test、Execute、Replace。
正则式对象方法:
  • Test:检测目标文本与正则式是否匹配,返回True or False。
  • Execute:检测是否匹配,并返回匹配集合,供后续程序调用处理。
  • Replace:执行替换操作。在替换时,可以使用$1,$2等捕获变量,与常规的正则表达式意义相同

posted on 2015-11-18 16:57  crhdyl  阅读(571)  评论(0编辑  收藏  举报

导航