java - 使用正则表达式验证输入字符串是否为 0-255 之间的数字

标签 java regex

我在将输入字符串与正则表达式匹配时遇到问题。我想验证输入数字在 0-255 之间并且长度最多应为 3 个字符。代码工作正常,但当我输入 000000 至任意长度时,显示 true 而不是 false。

这是我的代码:-

String IP = "000000000000000";
        System.out.println(IP.matches("(0*(?:[0-9][0-9]?|[0-2][0-5][0-5]))"));

最佳答案

测试了这个:

static String pattern = "^(([0-1]?[0-9]?[0-9]?|2[0-4][0-9]|25[0-5])\\.){3}([0-1]?[0-9]?[0-9]?|2[0-4][0-9]|25[0-5]){1}$";

它适用于以下情况:

  • IP 地址 xxx.xxx.xxx.xxx/xx.xx.xx.xx/x.x.x.x/这些地址的混合。
  • 允许使用前导零。
  • 范围 0-255/最多 3 位。

关于java - 使用正则表达式验证输入字符串是否为 0-255 之间的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31684083/

相关文章:

java - Hibernate 处理日期和时间 - PostgreSql

java - Scala - 如何返回这种 RDD 类型

java - 类路径、eclipse 和 java.lang.ClassNotFoundException : com. mysql.jdbc.Driver

java - 选择后更改 jtable 中行的背景颜色

java - 在 Java 中绘制带尖角的带边框路径

java - 将文本拆分为句子并将句子拆分为单词 : BreakIterator vs regular expressions

java - 重构正则表达式模式 - Java

java.lang.StringIndexOutOfBoundsException : from java. util.regex.Matcher

regex - Reg Ex Django Url Conf

r - 在 R 中用正则表达式拆分字符串