目录
正则规则普遍一致,不再详细介绍
具体内容可参考 python正则表达式-正则基础_一个小白的日常的博客-CSDN博客
一、提取数字和非数字
1、要求
测试1中,文字和数字的位置发生了变化,仅使用excel表的提取方法已存在问题。下面将使用正则方法进行编辑。
2、代码
Function regEx(text As String, t As Integer)
'text 是查找的文本 t 是提取的类型
'------------------------正则中通用的书写方式-----------------------
Dim reg As Object '创建一个正则对象
Set reg = CreateObject("VBScript.RegExp") '声明正则对象
'------------------------使用正则规则编写正则代码-----------------------
With reg
.Global = True
'正则属性,表示查找的全部数据
'如果为True,表示查找所有匹配的值
'如果为False,表示查找第一个匹配到的值
If t = 1 Then
'编写数字规则
.Pattern = "\d+"
ElseIf t = 2 Then
'非数字
.Pattern = "\D+"
End If
'------------------------提取数据-----------------------
'声明一个匹配的对象集合,将编写的正则规则与text进行匹配,如果成功,返回内容
Set mc = .Execute(text)
'将匹配成功的内容作为自定义函数的返回值
regEx = mc(0)
End With
End Function
3、结果
二、以...结尾
1、要求
2、代码
Function regEx_cunzai(text As String)
'------------------------正则中通用的书写方式-----------------------
Dim reg As Object
Set reg = CreateObject("VBScript.RegExp")
'----------------使用正则规则编写正则代码-----------------------
With reg
.Global = True
.Pattern = "(.*?)\_\D+$"
'----------------提取数据-----------------------
Set mc = .Execute(text)
regEx_cunzai = mc(0)
End With
End Function
3、结果