帮忙写一个 1-255 的java正则表达式

[复制链接]
查看11 | 回复4 | 2016-1-11 17:33:07 | 显示全部楼层 |阅读模式
1-255:(([1-9])|([1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5]))也可以不加最外层括号:([1-9])|([1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5])这是0-255的:(([0-9])|([1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5]))...
回复

使用道具 举报

千问 | 2016-1-11 17:33:07 | 显示全部楼层
Pattern pattern = Pattern.compile("[1-255]*");
Matcher isNum = pattern.matcher("25");
if(isNum.matches()) {
System.out.println("范围内");
} els...
回复

使用道具 举报

千问 | 2016-1-11 17:33:07 | 显示全部楼层
你好,您的这种情形下是属于取值范围约束,这种情况下不建议使用正则表达式去校验。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。取值范围不属于语法规则。建议首先用正则校验是否为整数。如果是,转换为整数,在看是否在所在区间。如果不是整数,直接报错。...
回复

使用道具 举报

千问 | 2016-1-11 17:33:07 | 显示全部楼层
不用正则也可以判断……int a/256<1 就可以了...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行