728x90
반응형

오타 있으면 알려주세요

정규표현식 첫번째 포스팅 -> http://blog.naver.com/kcwwck77/220279151692



* 정규 표현식 문법

 

  • 문자 클래스
    - '[ ]' 특수문자 안에서 자주 사용되는 패턴들을 미리 키워드로 정의하여 놓은 문자
    - 해당 문자 클래스를 자바에서는 다르게 사용 

 

패턴

문자클래스

 자바 사용 예

[a-zA-Z]
(모든영문자)

[[:alpha:]]

\p{Alpha}

[0-9]
(숫자)

[[:digit:]] 

\p{Digit}

[a-zA-Z0-9]
(영문자와 숫자)

[[:alnum:]]

\p{Alnum} 

 공백

[[:space:]] 

\p{Space} 



  • 특수 문자 사용
    - 메타문자('.', '*', '+' 등)을 정규표현식의 패턴에서 사용하려면 해당 특수문자 앞에 '\' 사용
    - '\'를 패턴에서 사용하려면 \\ 로 사용


  • 기타 표현(\는 역슬래쉬)

     패턴

    설명 

    \w

    [a-zA-Z0-9] 

    알파벳이나 숫자 

    \W

    [^a-zA-Z0-9] 

    알파벳이나 숫자를 제외한 문자 

     \d

    [0-9] 

    숫자 [0-9]와 동일 

     \D

    [^0-9] 

    숫자를 제외한 모든 문자 

     ^[0-9]*$

    \p{Digit} 

    숫자만 

     ^[a-zA-Z]*$

    \p{Alpha} 

    영문자만 

     ^[가-힣]*$

     

    한글만 

     ^[a-zA-Z0-9]*$

    \p{Alnum} 

    영어/숫자만 

     [[:space:]]

    \p{Space} 

    공백 

     


     

  • 표현 예

    구분

    패턴 

    이메일

     

    ^[a-zA-Z0-9]+@[a-zA-Z0-9]+(.[\w]+)
    ^[_0-9a-zA-Z-]+@[0-9a-zA-Z-]+(.[_0-9a-zA-Z]+)*$

     

    휴대폰

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

    일반전화 

    ^\d{2,3} - \d{3,4} - \d{4}&

    주민등록번호

    \d{6} \- [1-4]\d{6} 

    IP주소

    ([0-9]{1,3})\.{([0-9]{1,3})\.{([0-9]{1,3})\.{([0-9]{1,3}) 

    인터넷주소

    ([\\p{Alnum}]+)://([a-z0-9.\\-&%=?:@~\\_]+)" 

      
     


* 자바 API를 이용한 정규 표현식 처리
: java.util.regex  패키지
  • Pattern 클래스
    - 주어진 정규 표현식으로부터 패턴 생성

    static Pattern compile(String regex)

    주어진 정규 표현식으로부터 패턴 생성 

    static Matcher matcher(CharSequence input)

    패턴을 검색하는 Marcher 객체 반환 

    String pattern( )

    정규표현식을 String으로 반환

    String split(CharSequence input)

    패턴에 따라 분리 

     



  • Matcher 클래스
    - 문자열이 주어진 패턴과 일치하는지 확인
    - Matcher matcher = pattern.patcher("문자열");


  • String 클래스의 정규 표현식 지원 메소드

    메소드

    기능 

    boolean matches(String regex)

    문자열 안에 주어진 패턴이 존재 하는 지의 여부 반환 

    String replaceAll(String regex, String replaceStr)

    패턴과 일치하는 모든 부분을 replaceStr로 치환 

    String replaceFirst(String regex, String replaceStr)

    패턴과 일치하는 첫 부분을 replaceStr로 치환

    String[] splite(String regex)

    패턴과 일치하는 구분자를 기준으로 분할하여 배열로 반환

     

    [출처] [Java] 정규표현식(2)|작성자 워니

 

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,