VBA-正则实例

目录

一、提取数字和非数字

二、以...结尾


正则规则普遍一致,不再详细介绍

具体内容可参考 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、结果 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值