51Testing软件测试论坛
标题:
正则表达式
[打印本页]
作者:
xp20683
时间:
2006-11-17 09:01
标题:
正则表达式
使用正则表达式来表示0到1200,我想的答案是[0-9][0-9][0-9]|1[]01[0-9][0-9]|1200,资料答案是[0-9]?[0-9]?[0-9]?|1[]01[0-9][0-9]|1200,我觉得两个答案都只正确的,因为?是前面字符的零次或一次匹配,[0-9] 是匹配这个范围内的任意单个数字,由于是数字不是字符,0就相当于?匹配0次,所以两种答案都是正确的,我想是这样的,不知道对不对?请可位高手指点.
作者:
xiaonan
时间:
2006-11-17 09:05
呵呵,你认为正确的,就去实际操作一下啊,这样来的更加直观
作者:
xp20683
时间:
2006-11-17 09:50
我现在试了一下.
假设信用卡号范围设置在0到1200中才是有效的.
我将定票系统中的信用卡号设置成检查点,检查点属性value设置成[0-9]?[0-9]?[0-9]?|1[01][0-9][0-9]|1200正则表达式,其真正的属性值为1000,不知道为什么?运行的时候就出错了.
出错信息显示期望值为][0-9]?[0-9]?[0-9]?|1[01][0-9][0-9]|1200,而实际值为1000.难道1000不匹配上面的正则表达式
作者:
du宝宝
时间:
2006-12-4 09:38
sdlkfj4
作者:
风过无息
时间:
2006-12-13 09:39
加个括号吧:([0-9]?[0-9]?[0-9]?)|1[01][0-9][0-9]|1200
一般情况下规范一点的写法:([0-9]?[0-9]?[0-9]?)|(1[01][0-9][0-9])|1200
不过建议:[0-9]?[0-9]?[0-9]?能不能改为:[0-9]?[0-9]?[0-9],这样空值的话也可以避免。
仅为个人观点。
[
本帖最后由 风过无息 于 2006-12-13 18:34 编辑
]
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2