C# Regex 정규식으로 로컬 IP 주소 얻기

 

using System.Text.RegularExpressions;

private string getIP()
{
	Regex regex = new Regex(@"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$");
	foreach (System.Net.IPAddress ip in System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList)
	{
		if (regex.IsMatch(ip.ToString()))
		{
			return ip.ToString();
		}
	}
	return null;
}

 

정규식으로 간편하 IP 주소를 문자열로 얻을 수 있는 메소드 입니다.

 

IPv6 유무 관계없이 그대로 사용할 수 있는 것이 장점입니다.

 

string myIP = getIP(); 로 호출하면

1~255 . 1~255 . 1~255 . 1~255 의 형태로 myIP에 저장됩니다.

 

(참고) Regex :

Regex 클래스는 닷넷프레임워크의 정규식 엔진을 나타냅니다. 신속하게 많은 양의 텍스트 특정 문자 패턴을 찾기위해

구문 분석을 사용할 수 있습니다. 부분 문자열을 추출, 편집, 대체, 삭제할 수 있습니다.

컬렉션에 추출 된 문자열을 추가 합니다.

'.NET > CSharp' 카테고리의 다른 글

C# 개행(줄 바꿈)과 스크롤  (0) 2013.12.30
C# Sendkeys 클래스의 키 코드명  (0) 2013.12.24
C# Bitmap 이미지 비교  (0) 2013.12.23
C# 무한루프에 딜레이 주기  (1) 2013.12.21
SyntaxHighlighter 테마 스킨  (0) 2013.12.18