【问题标题】:QTP regular expressionQTP 正则表达式
【发布时间】:2013-06-10 11:00:22
【问题描述】:

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

【问题讨论】:

    标签: vbscript qtp


    【解决方案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
    

    【讨论】:

      【解决方案2】:

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

      http://regexpal.com/

      祝你好运!

      【讨论】:

      • VBScripter 需要很多运气,如果她使用“Javascript 正则表达式测试器”来验证 VBScript RegExps。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多