我正在努力验证我想在Excel(VBA)中使用的正则表达式语法。语法在网络上的每个验证器引擎中运行良好,但我无法在Excel中使用它。
任何人都可以帮助我,我非常感激。
表达式:
^.+(?<!/)(?=/?[RP]\d)
要验证的数据:ABC12345 / 67 / R1A
预期结果:ABC12345 / 67
答案 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