C# Regex 정규식으로 로컬 IP 주소 얻기
.NET/CSharp 2013. 12. 22. 22:29
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 |