【发布时间】:2011-06-12 08:07:20
【问题描述】:
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.&.& ------> 是的
- 192.1.0.1 ------>是的
- & ------> 错误
- 192.1.& ------> 错误
预期:
- 192.1.&.& ------> 错误
- 192.1.0.1 ------>是的
- & ------> 是的
- 192.1.& ------> 是的
即我想在通配符之后对所有输入进行通配符。
正则表达式中的哪些修改可以帮助我实现这一目标?谁能帮帮忙?
【问题讨论】:
标签: java regex validation