2012-07-22 6 views
0

모든 Windows 컴퓨터에서 ipconfig의 출력이 동일합니까 ??. ipconfig의 출력에서 ​​ip-address, 기본 게이트웨이, 서브넷 마스크를 캡처하고 싶습니다. java : ipconfig에 대한 정규 표현식

현재 내가이 일을하고있다 :

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]; 

누구나 어떤 정규식을 사용하여 더 나은 아이디어를 가지고 ??? 사전에

감사합니다.

+0

보기 : http://stackoverflow.com/questions/11930/how-can-i-determine-the-ip-of-my-router-gateway-in -자바 – shem

답변

2

항상 같은 형식의 명령에 의존해서는 안됩니다 (예 : 영어가 아닌 국가의 사람이 사용자 코드를 사용하는 경우 다양한 값의 이름이 달라집니다. 당신에게 중요하지 않을 수도 있습니다).

java.net 패키지를 사용하여 동일한 정보를 검색 할 수 있습니다. 또한 this question을 사용하면 유용한 예가 될 수 있습니다.

1

사용 정규식 패턴 : 여기

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