2

Excel (VBA) で使用したい正規表現構文の検証に苦労しています。この構文は、ネット上のすべての検証エンジンで適切に動作しますが、Excel では動作しません。

誰かがこれで私を助けてくれませんか。私は最も感謝しています。

表現:

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

検証するデータ: ABC12345/67/R1A

期待される結果: ABC12345/67

4

1 に答える 1

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
于 2013-11-06T06:47:09.623 に答える