QTP正则匹配问题
请大家帮忙看行脚本:If Browser("数据魔方").Page("成交趋势分析#start:2010-10-15|end:20").WebElement("日平均成交人数35,670").GetROProperty("innertext")="日平均成交人数"&"(\d+,)*(\d+)" 我要验证确定这块有数据出来,但是正则匹配出来的结果始终都是失败,大家帮忙看看有什么问题? 等于号是正则吗。。。 给个截图.先. 不是 ,正则只是等于号后面这块 回复 3# hanjj什么截图? "(\d+,)*(\d+)"好像写的不太正确吧 回复 6# hanjj
那应该怎么写呢 关于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")) msgbox "1"="\d"
这样就能知道LZ的写法是不是合乎规则的了。
正则是不能用在 = 判断的表达式中的 楼主 可以这样写:
If InStr(Browser("数据魔方").Page("成交趋势分析#start:2010-10-15|end:20").WebElement("日平均成交人数35,670").GetROProperty("innertext"),"日平均成交人数")> 0 这样 应该就可以解决你的问题了。 如果还不行,那么 使用
Print Browser("数据魔方").Page("成交趋势分析#start:2010-10-15|end:20").WebElement("日平均成交人数35,670").GetROProperty("innertext")
看看到底取得的值是什么
页:
[1]