본문 바로가기

웹 프로그래밍/JAVA

[JAVA] 정규표현식

728x90
반응형

정규 표현식

  • 주어진 문자열에서 발견할 수 있는 글자 패턴을 표현한 식

정규 표현식 표현법

표현식 의미
^X 문자 선택을 표현하며 x 와 y 중에 하나를 의미한다.
x$ 문자열의 종료를 표현하며 x 문자로 종료됨을 의미한다.
.x 임의의 한 문자의 자리수를 표현하며 문자열이 x로 끝난다는 것을 의미한다
x+ 반복을 표현하며 x 문자가 한번 이상 반복됨을 의미한다
x? 존재여부를 표현하며 x 문자가 존재할 수도, 존재하지 않을 수도 있음을 의미한다
x* 반복여부를 표현하며 x 문자가 0번 또는 그 이상 반복됨을 의미한다
x` `y
(x) 그룹을 표현하며 x를 그룹으로 처리함을 의미한다
(x)(y) 그룹들의 집합을 표현하며 앞에서부터 순서대로 번호를 부여하여 관리하고 x,y는 각 그룹의 데이터로 관리된다
(x)(?:y) 그룹들의 집합에 대한 예외를 표현하며 그룹 집합으로 관리되지 않음을 의미한다
x{n} 반복을 표현하며 x 문자가 n번 반복됨을 의미한다
x{n,} 반복을 표현하며 x 문자가 n번 이상 반복됨을 의미한다
x{n,m} 반복을 표현하며 x 문자가 최소 n번 이상 최대 m번 이하로 반복됨을 의미한다

 

표현식 의미
[xy] 문자 선택을 표현하며 x와 y 중에 하나를 의미한다
[^xy] not을 표현하며 x및 y를 제외한 문자를 의미한다
[x-z] range를 표현하며 x~z 사이의 문자를 의미한다
^ escape를 표현하며 ^를 문자로 사용함을 의미
\b word boundary를 표현하며 문자와 공백 사이의 문자를 의미한다
\B non word boundary를 표현하며 문자와 공백 사이가 아닌 문자를 의미한다
\d digit를 표현하며 숫자를 의미한다
\D non digit를 표현하며 숫자가 아닌 것을 의미한다
\s space를 표현하며 공백 문자를 의미한다
\S non space를 표현하며 공백 문자가 아닌 것을 의미한다
\t tab을 표현하며 탭 문자를 의미한다
\v vertical tab을 표현하며 수직 탭 문자를 의미한다
\w word를 표현하며 알파벳 + 숫자 + _ 중의 한 문자임을 의미한다
\W non word를 표현하며 알파벳 + 숫자 + _가 아닌 문자임을 의미한다

 

정규 표현식 활용 예제

ip validation

/^([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])){2}(\.([1-9]?[1-9]|[1-9][0-9]{1}|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$/

이메일

/^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i

금액

^[1-9]{1}[0-9]{0,2}(\\,?[0-9]{3})*$

 

 

참조 : https://hamait.tistory.com/342

728x90
반응형

'웹 프로그래밍 > JAVA' 카테고리의 다른 글

[JAVA] 변수란?  (0) 2021.10.18
[JAVA] JAVA 특징  (0) 2021.10.18
LocalDate, LocalTime, LocalDateTime  (0) 2021.05.20
[JAVA] BufferedReader, BufferedWriter  (0) 2021.04.30
[JAVA] LinkedList란?  (0) 2021.04.29