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
其原理主要是通过创建正则式对象并执行相应的正则式以实现查找/替换的目的,过程如下:
- 声明正则式对象;
- 赋值给该对象,包括全局性、大小写模式、正则式内容;
- 执行正则表达式。
- 执行正则表达式时,我们有3种函数可用:Test、Execute、Replace。
正则式对象方法:
- Test:检测目标文本与正则式是否匹配,返回True or False。
- Execute:检测是否匹配,并返回匹配集合,供后续程序调用处理。
- Replace:执行替换操作。在替换时,可以使用$1,$2等捕获变量,与常规的正则表达式意义相同