正则表达式,将列与另一列进行比较

时间:2014-05-21 16:09:51

标签: regex string excel vba

我有一个使用VBA的Excel程序,可以从某个产品的配置中查找材料,人工和其他所有内容的总成本。在项目的这一点上,我需要查看配置的某个部分的价格,唯一的方法是通过正则表达式。我在一张表中有一个列表,名为"测试计划",其中包含实际字符串和另一张表中的列表,名为" bomtrafocost.csv",其中包含所有表达式。测试计划的B列中将有未知数量的行,但bomtrafocost中总共有204行(第4行到第207行)。我需要将测试计划中的每个字符串与bomtrafocost中的每个表达式进行比较。我试图附上一张照片,但不幸的是,我没有足够的名声。这是我测试字符串的代码:

Function Test_MLFB(sMLFB, sPattern) As Boolean
Set re = New RegExp
re.Pattern = "^" & Replace(sPattern, "…", "...") & "$"
re.IgnoreCase = False
Test_MLFB = re.Test(sMLFB)
End Function
Function Test_Option_Code(sCode, sPattern) As Boolean
Set re = New RegExp
bInvert = False
If Left(sPattern, 1) = "!" Then
    sPattern = Right(sPattern, Len(sPattern) - 1)
    bInvert = True
End If
re.Pattern = "^.*" & sPattern & ".*$"
If bInvert Then Test_Option_Code = Not (re.Test(sCode)) Else Test_Option_Code = re.Test(sCode)
End Function

我需要知道的是如何测试每个正则表达式的每个字符串(一次一个)。一旦它返回" True"为了匹配,我需要知道bomtrafocost表中的哪一行匹配以找到相应的价格。我希望这是有道理的。谢谢你的帮助。

0 个答案:

没有答案