wspc 发表于 2011-12-10 12:13:37

关于VBS正则表达式的一个问题

我在正则表达式的调试工具调试的结果如图所示并且VBS正则文档也有相应说明可以获取到括号内匹配到的内容,相关文档说明如图所示
根据我匹配的结果,有两个值 一个是自动化QTP自动化,另一个是QTP,然后写完代码后再VBS编辑器或者QTP中运行的时候理论上应该输出两个值的,结果总输出一个值,详情如图
求助,还请高手帮忙解答一下困惑,小弟不胜感激。

hsjzfling 发表于 2011-12-12 09:54:49

理论上确实只能匹配1个,尽信工具不如无工具,查查文档自己判断好了

wspc 发表于 2011-12-12 10:56:56

回复 2# hsjzfling


    理论上应该匹配两个吧,并且相关文档也是这么说明的。

testtoone 发表于 2011-12-12 16:39:52

尽信书不如无书
括号内的内容可以作为一个独立体
但是不要忽视左右2个“自动化”的存在

hsjzfling 发表于 2011-12-12 17:28:49

回复 3# wspc


(pattern)Matches pattern and captures the match. The captured match can be retrieved from the resulting Matches collection, using the SubMatches collection in VBScript or the $0$9 properties in JScript. To match parentheses characters ( ), use '\(' or '\)'.

看文档要看仔细,QTP的帮助相对来说写的很详细了

wspc 发表于 2011-12-12 17:37:48

回复 5# hsjzfling


    谢谢你,明白了,要用submatches这个属性,呵呵

ymn911 发表于 2011-12-12 17:45:49

用vbs的函数吧 总长度能知道 前面字数确定,结尾字数确定。取中间的就好了。

wspc 发表于 2011-12-12 19:40:11

回复 7# ymn911


    恩,用instr这个也行,个人还是比较喜欢用正则,呵呵。。。

wangyanzhao 发表于 2011-12-13 08:16:49

路过
页: [1]
查看完整版本: 关于VBS正则表达式的一个问题