Java 使用通配符的 IP 验证正则表达式 *
Java IP validation RegEx with wildcard *
我正在尝试制作自己的正则表达式来匹配 IP 和 * 通配符
我自己的正则表达式现在是:
^((((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) \*){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(((25[0 -5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){1,3}\*))$
但它并没有像我希望的那样工作,
鉴于此条件,我想给出正则表达式 Ex.:
192.168.1.1 --> 有效
192.168.1.* --> 有效
192.168.*.* --> 有效
192.*.*.* --> 有效
192.168.*.1 --> 无效
192.*.1.1 --> 无效
192.*.*.1 --> 无效
*.168.1.1 --> 无效
一个选项是使用正向前瞻来断言后面的 3 个点具有 3 个数字或 *
匹配时,您可以将 *
作为最后一部分并且是可选的。
^(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?=(?:\.(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|\*)){3}$)(?:\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]))*(?:\.\*)*$
另一种选择是拼出所有备选方案:
^(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.\*|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.\*\.\*|\*\.\*\.\*)$
我正在尝试制作自己的正则表达式来匹配 IP 和 * 通配符 我自己的正则表达式现在是:
^((((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) \*){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(((25[0 -5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){1,3}\*))$
但它并没有像我希望的那样工作, 鉴于此条件,我想给出正则表达式 Ex.:
192.168.1.1 --> 有效
192.168.1.* --> 有效
192.168.*.* --> 有效
192.*.*.* --> 有效
192.168.*.1 --> 无效
192.*.1.1 --> 无效
192.*.*.1 --> 无效
*.168.1.1 --> 无效
一个选项是使用正向前瞻来断言后面的 3 个点具有 3 个数字或 *
匹配时,您可以将 *
作为最后一部分并且是可选的。
^(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?=(?:\.(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|\*)){3}$)(?:\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]))*(?:\.\*)*$
另一种选择是拼出所有备选方案:
^(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.\*|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.\*\.\*|\*\.\*\.\*)$