关于日期的正则表达式

看了琼香MM的正则表达式学习分享,想起自己以前也对正则表达式粗浅的学习过,也分享一下,呵呵。

         记得当时QTP自带教程中有关于日期的正则表达式的例子,即对时间:月//年采用正则表达式方法进行检查,但经常是测试失败。例子中提供的表达式为:[0-1][0-9]/[0-3][0-9]/200[0-9] 当时间的月份和日期选择的是个位数时,订票页面中的日期前面并不会显示出0,使得测试失败。

问题分析: 
    检查点设置后认为格式应该是06/03/2007的,而实际捕获到的是6/3/2007。检查后发现,如果时间的月份和日期非个位数时,例如选择的时间是10/10/2007,则测试是可以通过的。

说明给出的例子的检查点设置是有问题的,需要对该表达式进行修改。

有以下几种正则表达式的修改方法:
1
[0-1]{0,}[0-9]/[0-3]{0,}[0-9]/200[0-9]
2
[0-1]{0,1}[0-9]/[0-3]{0,1}[0-9]/200[0-9]
3
[1]{0,}[0-9]/[1-3]{0,}[0-9]/200[0-9]
4
[1]{0,1}[0-9]/[1-3]{0,1}[0-9]/200[0-9]

解释:
          [0-1]
0,}表示括号中的数,即在01范围内的数,允许出现0到任意次。不过这种表示不是很合适,如果月份和日期显示成了三位数或以上,也是检查不出错误的。
          [0-1]{0,1}
就表示允许出现0个或一个数。这种表示严格规定了范围及显示个数,不出现时就表示这个月份是个位数,没有十位数。这种对于不确定程序有没有省略掉前面的0可以用此方法表示
         [1]{0,1}
则表示可以不出现1,也可以出现1。这种也是可以的,如果出现了1,当然就表示该月份是十位数了。

 

        修改后保存,重新运行,测试通过。

       不过值得注意的是在QTP里,对时间采用正则表达式检查的话,只能是对其格式进行检查,选择的日期与显示的是否一致这是检查不出来的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值