51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4557|回复: 9
打印 上一主题 下一主题

[原创] QTP如何使用正则表达式

[复制链接]
  • TA的每日心情
    奋斗
    2019-5-19 22:24
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    跳转到指定楼层
    1#
    发表于 2009-7-10 11:14:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    在网上搜索了很多QTP关于正则表达式的东西,但是大多都是讲那些理论,没有实际的东西。
    假设,x="abcd",y="a",z="b" 我想用正则表达式达到这样的目的:
    1.验证x是不是以“a”开头;
    2.验证x是不是包含“b”
    最好能给个代码,希望各位不要笑我水平太低。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2009-7-10 11:17:09 | 只看该作者
    推荐一个工具
    Expresso
    http://www.ultrapico.com/Expresso.htm

    我C# perl都能用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-5-19 22:24
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    3#
     楼主| 发表于 2009-7-10 11:19:48 | 只看该作者
    LS给的网站我上不去。
    QTP中经常用Execute,Preplace,Test来实现正则表达式,其中test就是类似于包含,其他两个是什么功能呢?具体怎么用呢?
    希望能来点代码。不要讲理论。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-8-25 11:11
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2009-7-10 11:22:05 | 只看该作者
    关注
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2009-7-10 11:22:53 | 只看该作者
    原帖由 tjmjf 于 2009-7-10 11:19 发表
    希望能来点代码。不要讲理论。


    工具==理论?

    这工具就是写正则用的,里面还自带了不少范例,如果你不练习怎样写正则,你如何去熟练运用?



    [ 本帖最后由 shanxi 于 2009-7-10 11:27 编辑 ]

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-5-19 22:24
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    6#
     楼主| 发表于 2009-7-10 11:38:50 | 只看该作者
    谢谢LS,我去看看这个工具。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2009-7-10 12:26:18 | 只看该作者
    原帖由 tjmjf 于 2009-7-10 11:38 发表
    谢谢LS,我去看看这个工具。


    网上有不少基础的教程你应该其看,看后一般都一头雾水,所以需要多练习。

    [ 本帖最后由 shanxi 于 2009-7-10 12:30 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2009-7-10 14:06:32 | 只看该作者
    谢谢!~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2009-7-10 14:37:55 | 只看该作者
    原帖由 tjmjf 于 2009-7-10 11:14 发表
    在网上搜索了很多QTP关于正则表达式的东西,但是大多都是讲那些理论,没有实际的东西。
    假设,x="abcd",y="a",z="b" 我想用正则表达式达到这样的目的:
    1.验证x是不是以“a”开头;
    2.验证x是不是包含“b”
    最好 ...



    QTP的帮助文档能回答你这两个问题

    1. 写正则表达式

    可以参见帮助文档中的HP QuickTest Professional User's Guide > Enhancing Tests > Configuring Values > Defining Regular Expressions
    比如
    Matching the Beginning of a Line A caret (^) instructs QuickTest to match the expression only at the start of a line, or after a newline character.
    For example:
    book
    matches book within the lines—book, my book, and book list, while
    ^book
    matches book only in the lines—book and book list.



    2. 验证正则表达式

    可以参考帮助中的这段描述和代码

    Remarks
    The actual pattern for the regular expression search is set using the Pattern property of the RegExp object.

    The Execute method returns a Matches collection containing a Match object for each match found in string. Execute returns an empty Matches collection if no match is found.
    The following code illustrates the use of the Execute method.

    Function RegExpTest(patrn, strng)
      Dim regEx, Match, Matches      ' Create variable.
      Set regEx = New RegExp         ' Create a regular expression.
      regEx.Pattern = patrn         ' Set pattern.
      regEx.IgnoreCase = True         ' Set case insensitivity.
      regEx.Global = True         ' Set global applicability.
      Set Matches = regEx.Execute(strng)   ' Execute search.
      For Each Match in Matches      ' Iterate Matches collection.
        RetStr = RetStr & "Match found at position "
        RetStr = RetStr & Match.FirstIndex & ". Match Value is '"
        RetStr = RetStr & Match.Value & "'." & vbCRLF
      Next
      RegExpTest = RetStr
    End Function
    MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))





    [ 本帖最后由 hsjzfling 于 2009-7-10 14:45 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2011-7-12 19:59:12 | 只看该作者
    学习了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-19 21:21 , Processed in 0.076984 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表