51Testing软件测试论坛

标题: 正则表达式 [打印本页]

作者: shuishixingyu    时间: 2008-10-12 23:01
标题: 正则表达式
Function RegExpTest(patrn,strng)
   Dim regEx,Match,Matches
   Set regEx = New RegExp  '   创建一个正则表达式
   regEx.Pattern = patrn  '  设置正则表达式的匹配模式
   regEx.IgnoreCase = False  '  设置为不区分大小写
   regEx.Global = True  '  设置为全局可用
   Set Matches = regEx.Execute(strng)  '  执行搜索
   For Each Match in Matches  '  遍历所有匹配项
    RetStr = RetStr & "在 "
    RetStr = RetStr & Match.FirstIndex & " 找到匹配项。匹配项的值为 '"
    RetStr = RetStr & Match.Value & "'。" & vbCRLF
   Next
   RegExpTest = RetStr
End Function
'  调用RegExpTest
MsgBox(RegExpTest("is.","IS1 is2 IS3 is4"))

在关键字图中可以正常运行,但是在专家视图中就出错
[attach]45952[/attach]

这是为什么呢?
作者: shuishixingyu    时间: 2008-10-12 23:39
明白了,应该是Msgbox没有关闭的原因
作者: shuishixingyu    时间: 2008-10-13 10:15
可是还没找到办法解决这个问题,各位帮帮忙吧
作者: sangjf    时间: 2008-10-13 10:51
我试了一下,有我的机子上运行正常,你看一下具体是出错在哪条语句
作者: shuishixingyu    时间: 2008-10-13 10:57
在专家视图直接点击 run 就是正确的,如果点击run  from  step就会报错
我这里用了好几个action 只想运行这段代码的Action   就用了run  from  step
作者: sangjf    时间: 2008-10-13 13:34
按照你的想法,应该是选择run from step时语句的选择有误,举个简单的例子,一个for循环,你从这个循环的内部的某条语句开始执行,肯定是会提示错误的。你可以试着把光标定位在Function RegExpTest(patrn,strng)这行语句上,然后再选择run from step,应该就可以执行通过了。
作者: shuishixingyu    时间: 2008-10-13 15:20
原来如此,谢谢啊




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2