qiqin 发表于 2010-10-18 13:34:03

QTP正则匹配问题

请大家帮忙看行脚本:If Browser("数据魔方").Page("成交趋势分析#start:2010-10-15|end:20").WebElement("日平均成交人数35,670").GetROProperty("innertext")="日平均成交人数"&"(\d+,)*(\d+)" 我要验证确定这块有数据出来,但是正则匹配出来的结果始终都是失败,大家帮忙看看有什么问题?

skyzhu 发表于 2010-10-18 14:59:27

等于号是正则吗。。。

hanjj 发表于 2010-10-18 15:57:57

给个截图.先.

qiqin 发表于 2010-10-18 16:01:28

不是 ,正则只是等于号后面这块

qiqin 发表于 2010-10-18 16:03:11

回复 3# hanjj


    什么截图?

hanjj 发表于 2010-10-18 16:30:45

"(\d+,)*(\d+)"好像写的不太正确吧

qiqin 发表于 2010-10-18 18:54:36

回复 6# hanjj


    那应该怎么写呢

TIB 发表于 2010-10-18 20:19:06

关于VBScript的正则表达式的用法,可以参考QTP帮助文档,下面是一个例子:
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 发表于 2010-10-19 10:57:39

msgbox "1"="\d"
这样就能知道LZ的写法是不是合乎规则的了。
正则是不能用在 = 判断的表达式中的

walker1020 发表于 2010-10-19 13:15:18

楼主 可以这样写:

If InStr(Browser("数据魔方").Page("成交趋势分析#start:2010-10-15|end:20").WebElement("日平均成交人数35,670").GetROProperty("innertext"),"日平均成交人数")> 0

walker1020 发表于 2010-10-19 13:18:09

这样 应该就可以解决你的问题了。 如果还不行,那么 使用
Print Browser("数据魔方").Page("成交趋势分析#start:2010-10-15|end:20").WebElement("日平均成交人数35,670").GetROProperty("innertext")
看看到底取得的值是什么
页: [1]
查看完整版本: QTP正则匹配问题