看了瓊香
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-9]/[0-3][0-9]/200[0-9]2、
[0-1][0-9]/[0-3][0-9]/200[0-9]3、
[1][0-9]/[1-3][0-9]/200[0-9]4、
[1][0-9]/[1-3][0-9]/200[0-9]
解釋:[0-1]
{0,}
表示括號中的數,即在0到
1範圍內的數,允許出現
0到任意次。不過這種表示不是很合適,如果月份和日期顯示成了三位數或以上,也是檢查不出錯誤的。
[0-1]
就表示允許出現
0個或乙個數。這種表示嚴格規定了範圍及顯示個數,不出現時就表示這個月份是個位數,沒有十位數。這種對於不確定程式有沒有省略掉前面的
0可以用此方法表示
[1]則表示可以不出現
1,也可以出現
1。這種也是可以的,如果出現了
1,當然就表示該月份是十位數了。
修改後儲存,重新執行,測試通過。
不過值得注意的是在
qtp裡,對時間採用正規表示式檢查的話,只能是對其格式進行檢查,選擇的日期與顯示的是否一致這是檢查不出來的。
正規表示式 日期
1 日期範圍 datetime 值型別表示值範圍在公元 紀元 0001 年 1 月 1 日午夜 12 00 00 到公元 c.e.9999 年 12 月 31 日晚上 11 59 59 之間的日期和時間。2 閏年 關於公曆閏年是這樣規定的 地球繞太陽公轉一周叫做一回歸年,一回歸年長365日5時48分...
日期正規表示式
判斷閏年的規則 1 能被400整除 2 能被4整除不能被100整除 日期正規表示式的構建思想 平年365天,閏年366天,只有在閏年的時候,2月有29天,其餘年份,2月總是只有28天,而其餘月份是的天數是一樣的。那麼,只需要對所有的年份 包括閏年 構建出2月只有28天 其餘月份正常表示 的正規表示式...
日期的正規表示式
public static void datecheck 02468 048 13579 26 s 0?13578 1 02 s 0?1 9 1 2 0 9 3 01 0?469 11 s 0?1 9 1 2 0 9 30 0?2 s 0?1 9 1 2 0 9 d 02468 12 35679 1...