java - 正则表达式匹配 IP 范围?

标签 java regex

有人可以帮我用正则表达式来匹配一系列 IP。它应该匹配这样的内容:

"203.0.113.0-203.0.113.255"

我尝试了以下操作,但仅匹配单个 IP:

((?:\\d{1,3}\\.){3}\\d{1,3})(?:/((?:(?:\\d{1,3}\\.){3}\\d{1,3})|\\d{1,2}))?

最佳答案

您可以将字符串分成两个部分

String[] splitResult = ipRange.split("-");

然后对每个子字符串使用此模式

string pattern = @"\b(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]?)\.(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]?)\b"

您的模式实际上不起作用,因为每个 IP 部分最多只能达到 255

关于java - 正则表达式匹配 IP 范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15525974/

相关文章:

java - 如何使用引用 RGB 值对 RGB 值进行归一化

javascript - 正则表达式匹配 n 的多个

java - 正向回溯正则表达式

python - 给定正则表达式删除 Pandas 中的行

java - 找不到契约(Contract)附件

Java 图形用户界面工具栏

java - NetBeans 测试文件和运行文件差异

Javascript .match() 方法输出

javascript - 获取当前匹配的正则表达式规则

java - 实现客户端多文件上传服务的有效方法