본문 바로가기
programming/java

[java] 정규 표현식

by 힐무새 2017. 6. 1.

Regular Expression(정규 표현식)

  • 필요로 하는 문자열의 형식을 지정해서 그 내용으로만 데이터가 입력되는 것을 check 하기 위해 사용
    ex) 010 - 2243 - 4333
  • API: java.util.regex.Pattern 클래스를 찾아 활용

주요 기호와 내용

  • []: 해당 한 개의 문자만 허용
    ex) [abc]: a, b, c 중 하나의 문자
    • [^abc]: a, b, c 이외의 하나의 문자
    • [a-zA-Z]: a~z, A~Z 중 하나의 문자
    • [0-9]: 0부터 9까지 하나의 문자
  • \d: 한개의 숫자[0-9]와 동일
    • \s: 공백 처리 필요
    • \w: 한개의 알파벳 또는 한개의 숫자
      [a-zA-Z0-9]와 동일
  • ? : 없음 또는 한 개
    • * : 없음 또는 한 개 이상
    • + : 한 개 이상
  • {n} : 정확히 n 개
    • {.n} : 최소한 n 개
    • {n,m}: 최소 n, 최대 m

정규표현식 예제

- 전화번호

02-223- 2222, 010-2433-4333

  • 02 또는 010이 나와야 한다
    (02|010)
  • ' - ' 포함
  • 숫자로 \d 3자리 내지 4자리 {3,4}
    • \d{3,4}
  • ' - ' 포함
  • 숫자로 \d 4자리 {4}

전화번호에 대한 정규식 표현
(02|010)-\d{3,4}-\d{4}

- 이메일

white@naver.com

  • 한개 이상의 알파벳 또는 숫자
    \w+
  •  @
  • 한개 이상의 알파벳 또는 숫자
    \w+
  • \.
    \.는 문자의 점(.)이고, .범위가 모든 문자중 한 개의 문자
  • 한개 이상의 알파벳 또는 숫자
    \w+

이메일에 대한 정규 표현식
\w+@\w+\.w+


정규식 처리 클래스

  • java.util.regex.Pattern 클래스의 정적 메서드  matches() 활용
    ex) boolean result= Pattern.matches("지정한 정규식", "검증할 문자열");


'programming > java' 카테고리의 다른 글

[java]JVM 구조  (1) 2017.12.02
JIT(just-in-time) 컴파일  (0) 2017.12.01
[java] StringBuilder, StringBuffer의 차이  (0) 2017.06.01
[java]thread  (0) 2017.06.01
[java] Collection  (2) 2017.05.15