VBA正则切取字符串中的英文和数字和下划线

Function RegTest(ByVal sText As String) As String

    '定义正则表达式对象

    Dim oRegExp As Object

    '定义匹配字符串集合对象

    Dim oMatches As Object

    '创建正则表达式
    Dim a As String
    


    '定义要执行正则查找的文本变量

    Set oRegExp = CreateObject("vbscript.regexp")

    With oRegExp

        '设置是否匹配所有的符合项,True表示匹配所有, False表示仅匹配第一个符合项

        .Global = True

        '设置是否区分大小写,True表示不区分大小写, False表示区分大小写

        .IgnoreCase = True

        '设置要查找的字符模式

        '.Pattern = "[^x00-xff%&',;=?$x22]"
        .Pattern = "[A-Za-z0-9_]+"

        '判断是否可以找到匹配的字符,若可以则返回True

        MsgBox .Test(sText)

        '对字符串执行正则查找,返回所有的查找值的集合,若未找到,则为空

        Set oMatches = .Execute(sText)

        '把字符串中用正则找到的所有匹配字符替换为其它字符
        MsgBox (oMatches(0))
        
        a = oMatches(0)
        
        RegTest = a
        
        MsgBox .Replace(sText, "")

    End With

    Set oRegExp = Nothing

    Set oMatches = Nothing

End Function

Sub a()

    Dim Text As String
    
    Text = "这个是pooST11AD:USE=湖综后或者pooDACAO=NOT_USEDH笔记本大家"

    ak = RegTest(Text)
    
    MsgBox (ak)
    
End Sub

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值