QTP正则表达式

时间:2013-06-10 11:00:22

标签: vbscript qtp

我在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值,有人可以帮忙,请

2 个答案:

答案 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)

我使用此网站来验证我的REGEX:

http://regexpal.com/

祝你好运!