51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2590|回复: 4
打印 上一主题 下一主题

[原创] 正则表达式

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-11-17 09:01:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用正则表达式来表示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次,所以两种答案都是正确的,我想是这样的,不知道对不对?请可位高手指点.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-11-17 09:05:01 | 只看该作者
呵呵,你认为正确的,就去实际操作一下啊,这样来的更加直观
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-11-17 09:50:31 | 只看该作者
我现在试了一下.
  假设信用卡号范围设置在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不匹配上面的正则表达式
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-12-4 09:38:51 | 只看该作者
sdlkfj4
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-12-13 09:39:29 | 只看该作者
加个括号吧:([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 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-27 11:12 , Processed in 0.096286 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表