String ip = "1.1.&.&";
String WILDCARD_CHARACTER = "&";
String REGEX_IP_ADDRESS_STRING = "(?:(?:"
+ WILDCARD_CHARACTER
+ "|25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:"
+ WILDCARD_CHARACTER + "|25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)";
Pattern p = Pattern.compile(REGEX_IP_ADDRESS_STRING1);
Matcher m = p.matcher(ip);
System.out.println("Does it match? " + m.matches());
使用上面编码的IP验证完美运行。但我想对通配符字符进行一些修改,因为它会引起问题。
当前情况:
- 192.1.&.& ------> True
- 192.1.0.1 ------> True
- & ------> False
- 192.1.& ------> False
期望结果:
- 192.1.&.& ------> False
- 192.1.0.1 ------> True
- & ------> True
- 192.1.& ------> True
即我想在通配符字符后通配所有输入。
有什么正则表达式的修改可以帮助我实现这个目标吗?请有人能帮忙吗?