marysnow 发表于 2009-1-8 19:20:03

QTP中郁闷的一则正则表达式

今天,遇到一个很意思的问题,关于正则表达式在QTP的用法:

环境:QTP8.2
被测对象:是QTP自带的单机版的例子,详见下图


对此对象设置了一个标准检查点,则检查点的值设成正则表达式,如图所示:


内容:(0)|(1)/(0)|()|(3)/09
匹配:01/10/09(即月/日/年)这样的格式的字符串
QTP结果:检查点失败.

如果改成这样的话,如下图,就可以检查通过.


请教:使用QTP的同行,这是为什么?按照正则表达式的用法,也没有写错啊.:)

plumlau002 发表于 2009-1-8 23:29:38

你用((0)|(1))/((0)|()|(3))/09 试试, 我用()把月份和日期括起来了

marysnow 发表于 2009-1-9 16:48:44

谢谢,可以了,原来还要再加一层括号.

没有蛀牙 发表于 2009-1-9 17:47:25

在使用或的时候,要注意边界
(0)|(1)/(0)|()|(3)/09
这个表达式是这样的
0或者1/0或者或者3/09
匹配结果是01和10/09,要匹配01/10/09显然是错误的
更简洁的表达式是:
(0|1)/(0||3)/09
页: [1]
查看完整版本: QTP中郁闷的一则正则表达式