Function result(rng_value, reg) Set regex = CreateObject("vbscript.regexp") With regex .Global = True .Pattern = reg End With Set abc = regex.Execute(rng_value) regex_num = abc.Count ReDim arr(1 To regex_num) For i = 1 To regex_num arr(i) = abc.Item(i - 1) Next Set regex = Nothing result = arr End Function Function sub_result(rng_value, reg, Optional ByVal z As Integer = 0) '提取指定字符中间部分 Set regex = CreateObject("vbscript.regexp") With regex .Global = True .Pattern = reg End With Set abc = regex.Execute(rng_value) valu_num = abc.Count If z <> 0 And z <= valu_num Then Dim arr1() Set ttt = abc(z - 1).submatches valu_num2 = ttt.Count ReDim Preserve arr1(valu_num2 - 1) For xx2 = 0 To valu_num2 - 1 arr1(xxx2) = ttt.Item(xx2) Next sub_result = arr1 Else Dim arr() For xx = 0 To valu_num - 1 Set ttt = abc(xx).submatches valu_num2 = ttt.Count ReDim Preserve arr(valu_num - 1, valu_num2 - 1) For xx2 = 0 To valu_num2 - 1 arr(xx, xx2) = ttt.Item(xx2) Next Next sub_result = arr End If End Function
标签:regex,abc,rng,num,Set,reg From: https://www.cnblogs.com/szd001/p/18395397