Excel (VBA) で使用したい正規表現構文の検証に苦労しています。この構文は、ネット上のすべての検証エンジンで適切に動作しますが、Excel では動作しません。
誰かがこれで私を助けてくれませんか。私は最も感謝しています。
表現:
^.+(?<!/)(?=/?[RP]\d)
検証するデータ: ABC12345/67/R1A
期待される結果: ABC12345/67
^.+(?<!/)(?=/?[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