我在QTP中遇到正则表达式问题,无法理解为什么这种模式不起作用:
Dim objRegExp
Set objRegExp = New RegExp
objRegExp.Pattern = Replace(Replace(Replace("Millennium [AUT]", "\", "\\"), "(", "\("), ")", "\)")
objRegExp.IgnoreCase = True
If objRegExp.Execute("Millennium [AUT]").Count < 1 Then
Set objRegExp = Nothing
End If
方法计数返回0值,有人可以帮忙,请
答案 0 :(得分:1)
您的.Replace链不会更改“Millennium [AUT]”模式,该模式搜索“Millennium”后跟“”,后跟“A”,“U”或“T”中的一个字母。您的输入“Millennium [AUT]”有一个“[”,其中模式需要“A”,“U”或“T”。
因此,在请求解决regexp问题时请遵循一般规则:至少提供一个样本输入及其预期结果。
也许你的意思是:
>> set r = New RegExp
>> r.Pattern = "Millennium \[AUT\]"
>> set mts = r.Execute("Millennium [AUT]")
>> WScript.Echo mts.Count
>>
1
答案 1 :(得分:0)