아틴
Atin
아틴
전체 방문자
오늘
어제
  • 분류 전체보기 (460)
    • Devlopment (246)
      • 정리 글 (20)
      • MicroServices (0)
      • Reactive, Concurrenc.. (12)
      • Java (44)
      • Spring (20)
      • C,C++,Ruby,Python (52)
      • Mobile (39)
      • Web (35)
      • Tip & Info (14)
      • Unit Test (7)
    • Infra (44)
      • OS (21)
      • RDBMS (13)
      • NoSQL&Cache (5)
      • AWS (4)
    • Computer Science (11)
    • Etc (156)

블로그 메뉴

  • Home
  • Guestbook

공지사항

인기 글

태그

  • Android
  • 여행
  • 해킨토시
  • Python
  • TRPG
  • Dungeons & Dragons
  • C
  • 안드로이드
  • Linux
  • 정읍
  • CSS
  • 아이폰
  • 자바
  • 전라도
  • 던젼 앤 드래곤즈
  • mysql
  • Java
  • jsp
  • javascript
  • Ruby on Rails

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
아틴

Atin

Devlopment/정리 글

정규식 예제

2012. 3. 29. 15:24
반응형

정규식은 참 좋은 것 같다. 그러나 그떄 그때 정규식 짜는 것도 참 일이다.

그래서 주로 쓰는 정규식 예제를 모아보았다.



// IPv4
^([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}$"

// IPv6
^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|    1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$


// 한글 완성형
[\uAC00-\uD7A3]

// 영문자
^[a-zA-Z]*$

// 정수
^[0-9]*$

// 실수
^[+-]?\d*(\.?\d*)$

// 이메일
^[_a-z0-9-]+(.[_a-z0-9-]+)*@(?:\w+\.)+\w+$

// 폰
^01(?:0|1|[6-9]) - (?:\d{3}|\d{4}) - \d{4}$

// 전화
^\d{2,3} - \d{3,4} - \d{4}$

// 주민등록번호
\d{6} \- [1-4]\d{6}



Java에서는 다음과 같이 쓴다.
마지막에 find메소드 호출시 boolean값이 리턴되어서 정규식에 맞는 값인지 확인할 수 있다.

Pattern pattern = Pattern.compile("정규식 표현");
Matcher matcher = pattern.matcher("정규식 검사할 문자열");
matcher.find();




Reference
[1] http://ishyeok.tistory.com/tag/%EC%A0%95%EA%B7%9C%EC%8B%9D
[2] http://easymicro.egloos.com/5461610
[3] http://cafe.naver.com/hermeneus.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=140& 


반응형

'Devlopment > 정리 글' 카테고리의 다른 글

Java9 특징  (0) 2016.12.12
DDD와 JPA에 대해서 알아야 하는 이유  (0) 2016.06.24
함수형 프로그래밍이 주목받는 이유  (0) 2016.04.27
적정 스레드 수  (0) 2013.05.20
Qt(Qt Development Frameworks)란 무엇인가?  (0) 2012.04.16
Java에서 JNI를 써서 핑 프로그램을 구현하는 이유  (0) 2012.01.30
버전 관리 & 이슈 관리 시스템  (0) 2011.06.07
C와 Java의 컴파일 과정  (1) 2011.05.27
난수 발생기  (2) 2010.06.23
SnmpWalk  (0) 2010.04.27
    'Devlopment/정리 글' 카테고리의 다른 글
    • 적정 스레드 수
    • Qt(Qt Development Frameworks)란 무엇인가?
    • Java에서 JNI를 써서 핑 프로그램을 구현하는 이유
    • 버전 관리 & 이슈 관리 시스템
    아틴
    아틴

    티스토리툴바