활용 가능 정규 표현식

Posted 07 27, 2013 16:36, Filed under: Language


# 활용 가능한 정규 표현식


// 한글 체크
/**
 * 유니코드 지원시 [가-힣] 처럼 사용 가능 : 자음 또는 모음을 검색할 수 없음
 * 자음, 모음 검색 : [ㄱ-ㅣ]
 * 자음, 모음을 포함한 모든 한글 검색 : [ㄱ-ㅣ|가-힣]+
 */
String hangle = "ㄱㄴㄷㄹ";
Pattern hangleP = Pattern.compile("[ㄱ-ㅣ|가-힣]+");
Matcher hangleM = hangleP.matcher(hangle);
boolean hangleB = hangleM.matches();
System.out.println("# hangleP :"+hangleP);
System.out.println("# hangleM :"+hangleM);
System.out.println("# hangleB :"+hangleB);    


// IP 체크
String IP = "11.212.218.124";
 Pattern p = Pattern.compile("((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)");
 Matcher m = p.matcher(IP);
 boolean b = m.matches();
System.out.println("# p :"+p);
System.out.println("# m :"+m);
System.out.println("# b :"+b);


// URL 체크
String url = "http://google.com";
Pattern urlP = Pattern.compile("^https?://([\\w-]+.)+(/[\\w-./?&%=]*)?$");
Matcher urlM = urlP.matcher(url);
boolean urlB = urlM.matches();
System.out.println("# urlP :"+urlP);
System.out.println("# urlM :"+urlM);
System.out.println("# urlB :"+urlB);         


// 이메일 주소 체크
String email = "sun@google.com";
// Pattern emailP = Pattern.compile("^[a-zA-Z0-9.-_]+@([a-zA-Z0-9-_]{2,63}\\.)+[a-zA-Z]{2,4}$");
// Pattern emailP = Pattern.compile("^[\\w-.%]+@([\\w-]{2,63}\\.)+[a-zA-Z]{2,4}$");
// 이메일 아이디 첫 글자를 영문으로만 조회
Pattern emailP = Pattern.compile("^[a-zA-Z][\\w-.%]+@([a-zA-Z0-9-_]{2,63}\\.)+[a-zA-Z]{2,4}$"); 
Matcher emailM = emailP.matcher(email);
boolean emailB = emailM.matches();
System.out.println("# emailP :"+emailP);
System.out.println("# emailM :"+emailM);
System.out.println("# emailB :"+emailB);        


// 신용카드 번호 체크
/**
* 마스터카드(5로 시작) : ^5\\d{3}-?\\d{4}-?\\d{4}-?\\d{4}$
* 비자카드(4로 시작) : ^4\\d{3}-?\\d{4}-?\\d{4}-?\\d{4}$
* 국내전용카드(9로 시작) : ^9\\d{3}-?\\d{4}-?\\d{4}-?\\d{4}$
* 아메리칸익스프레스카드(3로 시작, 두 번째 숫자 4또는 7) : 
*                    ^3[47]\\d{2}-?\\d{4}-?\\d{4}-?\\d{4}$
*/
String card = "1234-1235-1236-1237";
Pattern cardP = Pattern.compile("^\\d{4}-?\\d{4}-?\\d{4}-?\\d{4}$");
Matcher cardM = cardP.matcher(card);
boolean cardB = cardM.matches();
System.out.println("# cardP :"+cardP);
System.out.println("# cardM :"+cardM);
System.out.println("# cardB :"+cardB);    


// HTML, 기타 주석 체크
String html = "<!-- Html 주석 -->";
Pattern htmlP = Pattern.compile("<!-{2,}.*?-{2,}>");
Matcher htmlM = htmlP.matcher(html);
boolean htmlB = htmlM.matches();
System.out.println("# htmlP :"+htmlP);
System.out.println("# htmlM :"+htmlM);
System.out.println("# htmlB :"+htmlB);            




참고 도서 : 처음 시작하는 정규표현식, Regular Expressions


※ 위 내용은, 여러 자료를 참고하거나 제가 주관적으로 정리한 것입니다.
   잘못된 정보나 보완이 필요한 부분을, 댓글 또는 메일로 보내주시면 많은 도움이 되겠습니다.

"Language" 분류의 다른 글

정규표현식 단축 문자, 문자 클래스 (0)2013/07/28
07 27, 2013 16:36 07 27, 2013 16:36


Trackback URL : http://develop.sunshiny.co.kr/trackback/939

Leave a comment

« Previous : 1 : ... 91 : 92 : 93 : 94 : 95 : 96 : 97 : 98 : 99 : ... 648 : Next »

Recent Posts

  1. HDFS - Python Encoding 오류 처리
  2. HP - Vertica ROS Container 관련 오류...
  3. HDFS - Hive 실행시 System Time 오류
  4. HP - Vertica 사용자 쿼리 이력 테이블...
  5. Client에서 HDFS 환경의 데이터 처리시...

Recent Comments

  1. 안녕하세요^^ 배그핵
  2. 안녕하세요^^ 도움이 되셨다니, 저... sunshiny
  3. 정말 큰 도움이 되었습니다.. 감사합... 사랑은
  4. 네, 안녕하세요. 댓글 남겨 주셔서... sunshiny
  5. 감사합니다 많은 도움 되었습니다!ㅎㅎ 프리시퀸스

Recent Trackbacks

  1. wireless communication systems wireless communication systems %M
  2. amazon fire television amazon fire television %M
  3. how to broadcast your own tv station how to broadcast your own tv station %M
  4. elapsed time clock for operating r... elapsed time clock for operating r... %M
  5. Mysql - mysql 설치후 Character set... 멀고 가까움이 다르기 때문 %M

Calendar

«   12 2019   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. 오라클 클럽
  4. API - Java
  5. Apache Hadoop API
  6. Apache Software Foundation
  7. HDFS 생태계 솔루션
  8. DNSBL - Spam Database Lookup
  9. Ready System
  10. Solaris Freeware
  11. Linux-Site
  12. 윈디하나의 솔라나라

Site Stats

TOTAL 2780508 HIT
TODAY 91 HIT
YESTERDAY 1360 HIT