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

2024-12-12 03:43:40
推荐回答(4个)
回答1:

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]))

回答2:

Pattern pattern = Pattern.compile("[1-255]*");
Matcher isNum = pattern.matcher("25");
if(isNum.matches()) {
System.out.println("范围内");
} else {
System.out.println("范围外");
}

回答3:

你好,您的这种情形下是属于取值范围约束,这种情况下不建议使用正则表达式去校验。

正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。

取值范围不属于语法规则。

建议首先用正则校验是否为整数。
如果是,转换为整数,在看是否在所在区间。
如果不是整数,直接报错。

回答4:

不用正则也可以判断……
int a/256<1 就可以了