Excel中的表达式语法?

时间:2013-11-04 08:02:41

标签: regex excel-vba vba excel

我正在努力验证我想在Excel(VBA)中使用的正则表达式语法。语法在网络上的每个验证器引擎中运行良好,但我无法在Excel中使用它。

任何人都可以帮助我,我非常感激。

表达式:

    ^.+(?<!/)(?=/?[RP]\d) 

要验证的数据:ABC12345 / 67 / R1A

预期结果:ABC12345 / 67

1 个答案:

答案 0 :(得分:0)

请检查此正则表达式^.+(?<!/)(?=/?[RP]\d),因为它没有给出预期的输出。 它适用于^.+(?=/[RP]\d)。以下是示例代码。

Sub Main()

    Dim stringToValidate As String
    Dim stringResult As String


    stringToValidate = "ABC12345/67/R1A"
    stringResult = getData(stringToValidate)


End Sub

Function getData(ByVal str As String) As String
    Dim objRegEx As Object
    Set objRegEx = CreateObject("VBScript.RegExp")
    objRegEx.IgnoreCase = True
    objRegEx.Global = True

    objRegEx.Pattern = "^.+(?=/[RP]\d)"

    Set allMatches = objRegEx.Execute(str)

    For i = 0 To allMatches.Count - 1
        result = result & allMatches.Item(i)
    Next

    getData = result
End Function