VBA 中包含点的正则表达式

问题描述 投票:0回答:1

在VBA中,匹配以下每个字符串的正则表达式是什么?

第一个:

56-...

第二个:

...-28

对于第二个,我尝试了以下方法,但没有结果:

Target.Value Like "[\.]{3}[\-]{1}[0-9]{1,}"
excel regex vba
1个回答
0
投票

请尝试一下。

Option Explicit

Sub demo()
    Dim sTxt As String, oMatch As Object
    With CreateObject("vbscript.regexp")
        .Global = True
        .Pattern = "\d+-\.{3}"
        sTxt = "the frist one 56-..."
        For Each oMatch In .Execute(sTxt)
            Debug.Print oMatch.Value
        Next
        .Pattern = "\.{3}-\d+"
        sTxt = "For the second one...-28"
        For Each oMatch In .Execute(sTxt)
            Debug.Print oMatch.Value
        Next
    End With
End Sub

输出:

56-...
...-28
© www.soinside.com 2019 - 2024. All rights reserved.