0

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

4

2 回答 2

1

您的 .Replace 链不会更改模式“Millennium [AUT]”,该模式搜索“Millennium”后跟“”,后跟“A”、“U”或“T”中的一个字母。您的输入“Millennium [AUT]”有一个“[”,其中模式需要“A”、“U”或“T”。

因此,在询问正则表达式问题的解决方案时,请遵循一般规则:给出至少一个样本输入及其预期结果。

也许你的意思是:

>> set r = New RegExp
>> r.Pattern = "Millennium \[AUT\]"
>> set mts = r.Execute("Millennium [AUT]")
>> WScript.Echo mts.Count
>>
1
于 2013-06-10T11:09:28.820 回答
0

我使用这个网站来验证我的正则表达式:

http://regexpal.com/

祝你好运!

于 2013-06-10T18:12:06.283 回答