2014-07-11 1 views
0

정규식을 사용하여 주어진 문자열이 IP 주소인지 아닌지 확인하고 싶습니다. 내 첫 번째 아이디어는 이었지만 그 다음에는 역 참조가 캡처 그룹의 결과를 참조하고 있음을 기억했습니다. 그래서 내 솔루션은 192.192.192.192, 168.168.168.168 또는 178.178.178.178과 같은 IP 주소에서 작동합니다. 캡쳐 그룹의 결과를 참조하는 대신 캡쳐 그룹의 정규식을 참조하는 다른 유형의 역 참조가 있습니까?([0-2][0-9]{1,2}|[0-9]{1,2})\.을 네 번 연속 사용하는 것보다 더 좋은 방법이 있습니까? 또는 .NET Framework에서 문자열인지 여부를 확인하는 함수가 IP인지 여부는 무엇입니까?캡쳐 된 결과 대신 캡쳐 그룹에 대한 역 참조

+0

을하지 않았다 사용할 수 있습니까? – Cubinator73

답변

1

당신은 내가, 당신은 내 질문이 중복 말할 수 있습니다,하지만 난 좀 더 일을 물어 생각

IPAddress.TryParse

+0

논리적으로 들리지만이 함수는 '192'또는 '192.168'과 같은 문자열을 IP로보고 그 값을 true로 반환합니다. – Cubinator73

+0

@ Cubinator73 링크 된 답변의 주석을 읽으십시오. 위의 메소드를'192.168.1.1 ".Count (x => x == '.') == 3;' – EZI

+0

으로 조합 할 수도 있습니다. – Cubinator73