51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2063|回复: 5
打印 上一主题 下一主题

[原创] 关于QTP中的正则表达式

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-7-15 09:28:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
扩展saffron框架。在verify函数中添加一个判断。 假设输入的值是lun,期望的查询结果有lun0、lun1、lun2. 要用verify判断结果是否正确,在verify中怎么使用正则表达式实现?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-7-15 10:20:08 | 只看该作者
lun[/d]{0,}
我也不太会,错了别见怪哈
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2011-7-15 11:49:48 | 只看该作者
我空间有个PAFAWEB的XX函数,无非就是.*一下,楼主可以去看下
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-7-15 11:57:41 | 只看该作者
Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches   
   Set regEx = New RegExp   
   regEx.Pattern = patrn   
   regEx.IgnoreCase = True   
   regEx.Global = True   
   Set Matches = regEx.Execute(strng)   
   For Each Match in Matches  
    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("lun.", strng(你所需要进行判断的字符串))


这段函数直接在QTP帮助里面就有,我改了下发出来,但建议以后先看看帮助再伸手
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2011-7-15 12:01:53 | 只看该作者
你也可以把判断写的简单点,比如
   For Each Match in Matches  
     If Match.Value  Then
      Reporter.ReportEvent MicPass, "Verify", "Pass"
      Exit For
     End if
   Next
这样只要找到一个带lunxx的就算成功了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2011-7-15 14:15:53 | 只看该作者
回复 5# 阳光下的橙子


    这段我试了一下,不能直接这样判断,我修改了一下:

Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches, count   
   count = 0
   Set regEx = New RegExp   
   regEx.Pattern = patrn   
   regEx.IgnoreCase = True   
   regEx.Global = True  
   Set Matches = regEx.Execute(strng)   
   For Each Match in Matches   
       count = count+1
       Regstr = Regstr&count&":"&Match.Value&vbcrlf
   Next
   If count > 0 Then
   MsgBox "在字符串中找到"&count&"个匹配值",1,"结果输出"
   RegExpTest = Regstr
   Else
   MsgBox "在字符串中找不到匹配值",1,"结果输出"
   RegExpTest = "结果为空"
   End if
End Function

msgbox(RegExpTest("is.", "IS1 is2 IS3 is4"))


楼主你可以直接放到QTP里跑跑就知道了,这个可以直接用
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-11 04:17 , Processed in 0.077162 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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