java:ipconfig的正则表达式



ipconfig的输出在所有windows机器中都一样吗。我想从ipconfig的输出中捕获ip地址、默认网关、子网掩码。

目前我正在做这个:

String[] arr = s.split("IPv4 Address. . . . . . . . . . . : ");
            ipAddress = (arr[1].split("\n"))[0];
            String[] arr1 = s.split("Subnet Mask . . . . . . . . . . . : ");
            subnetMask = (arr1[1].split("\n"))[0];
            String[] arr2 = s.split("Default Gateway . . . . . . . . . : ");
            defaultGateway = (arr2[1].split("\n"))[0];

有人有更好的想法来使用一些正则表达式吗???

提前谢谢。

您可能不应该依赖命令的格式始终相同(例如,如果非英语国家的人使用您的代码,则各种值的名称将不同-这对您来说可能重要,也可能不重要)。

您可以使用java.net包检索相同的信息。此外,这个问题可能会给你一个有用的例子。

使用正则表达式模式:

Pattern pattern = Pattern.compile(
  "[\n\r]\s*IP\s+Address[^\d]+(\d\S+).*Mask[^\d]+(\d\S+).*Gateway[^\d]+(\d\S+)",
  Pattern.DOTALL);

相关内容

  • 没有找到相关文章

最新更新