我想创建一个正则表达式来验证文件名以进一步处理。正则表达式与不匹配
我想,以配合扩展.txt
,.csv
文件或.log
但我想它们排除在外,如果它与_out.csv
或mylog.log
到此为止是我的开始:
Function CanProcessFile(strFileNameIn, strLogName, strOutName)
Dim objRegEx, colMatches, strPattern
Set objRegEx = CreateObject("VBScript.RegExp")
strPattern = "((.txt$)|(.csv$)|(.Log$))"
strPattern = "(?!(" & strLogName & "$))" & strPattern
'strPattern = "(?!(" & strOutName & "$))" & strPattern
objRegEx.Pattern = strPattern
objRegEx.IgnoreCase = True
Set colMatches = objRegEx.Execute(strFileNameIn)
If colMatches.Count > 0 Then
CanProcessFile = True
Else
CanProcessFile = False
End If
End Function
但每我尝试添加一个^
或?!
与(_out.csv$)
它失败。
我开始怀疑我是否应该只创建两个表达式,如果它匹配第一个过滤器,则拒绝它是否与第二个表达式匹配。 – 2012-03-21 15:10:28