본문 바로가기

Java

[Java]정규표현식 정리

반응형

정규표현식이란?

문자열에 특정한 패턴이 있을 때 해당 패턴을 식으로 정의하여 패턴에 맞는 문자열들을 추출할 때 사용하는 기능

정규표현식 사용이유

문자열에서 특정한 패턴을 이용해서 조작할 경우, 조건문을 사용할 때는 코드가 길고 복잡하게 되지만
정규표현식을 이용하면 간단하고 효율적으로 작성할 수 있다.

기호 정리

기호 설명
[] 한 개의 문자 [abc] a,b,c중 하나의 문자
[^abc] a,b,c 이외 하나의 문자
[a-zA-Z] a~z,A~Z중 하나의 문자
\d 한 개의 숫자 [0-9]와 동일 d, s, w를 대문자로 바꾼다면 그 이외의 문자를 나타낸다.
ex) \D 숫자 이외의 문자
\s 공백
\w 한 개의 알파벳 or 한 개의 숫자 [a-zA-Z_0-9]와 동일
? 없음 또는 한 개
* 없음 또는 한 개 이상
+ 한 개 이상
{n} 정확히 n
{n,} n개 이상
{n,m} n개부터 m개까지
() 그룹핑
^ 문자열의 시작
$ 문자열의 종료
. 임의의 한 문자
^ Not을 의미

 

사용예시

1. 전화번호

전화번호 예시로는 02-123-1234 or 010-1234-1234 or 031 123 1234 등이 있다.
이를 정규식으로 표현하면 아래와 같이 나타낼 수 있다.
"\d{2,3}(-|\s)\d{3,4}(-|\s)\d{4}"

2. 이메일

이메일 예시로는 abc@abcd.com or abc@abcd.ac.kr 등이 있다
이를 정규식으로 표현하면 아래와 같이 나타낼 수 있다.
"\w+@\w+\.\w+(\.\w+)?"

자바 클래스 사용방식

1. Pattern.matches()

이 문자열이 정규식과 일치하는지 검증할 때

boolean result = Pattern.matches("정규식", "검증할 문자열")

2. String.replaceAll()

문자열내에서 정규식과 매칭되는 모든 문자열을 원하는 문자열로 바꾼다.

String.replaceAll("정규식", "바꿀 문자열")

반응형

'Java' 카테고리의 다른 글

[Java] 자바 컬렉션 Set  (0) 2022.01.11
[Java] String 클래스 정리  (0) 2022.01.08
[Java] 상속이란?  (0) 2022.01.06
[Java] 변수와 자료형  (0) 2022.01.04
[Java] 자바 ArrayList 정리  (0) 2021.09.16