Java

정규 표현식 : REGEX

mopipi 2024. 2. 8. 17:49
반응형

🟢 정규식으로 사용하는 메서드 (in String 클래스)

1. .matches(regex) 

    : 인자로 주어진 정규식에 매칭되는 값이 있는지 확인

2. .replaceAll(regex, replacement)

    : 문자열 내에 있는 정규식 regex를 replacement 로 대체한 문자열 리턴

3. split(regex) 

    : 인자로 주어진 정규식과 매치되는 문자열을 구분자로 분할한 String 배열 리턴

 

🟢 정규식 기호

정규식 기호 예시
^ 문자열의 시작 의미 ^a : a로 시작
$ 해당 문자열이 $ 앞에 있는 문자로 끝나는지 검사 a$ : a로 끝남
[ ] 괄호 안에 있는 특정 문자를 포함함 [ab][cd] : a, b중 하나 / c, d중 하나 포함
[^ ] 괄호 안에 있는 특정 문자를 포함하지 않음 [^a-z] : 알파벳 소문자 전부 제외
- -의 앞, 뒤 사이의 모든 문자  [a-z0-9] : 알파벳 소문자 + 숫자 허용
| OR 01(0|1) : 01 뒤에 0 또는 1 허용
() 그룹
{} 개수 a{3}b : a가 3번이상 온 후 b가 와야 함
\b 공백, 탭, ",(콤마)" "/(슬래시)" 를 의미  idx\b : idx 뒤에 공백/탭/콤마/슬래시 존재
\B ^\b를 의미(\b의 부정) => 공백, 탭, 콤마... 등을 포함하지 않는 경우 idx\B : idx,as (X) idx.as (O)
\d 0 ~ 9 사이 숫자를 포함하는지 (= [0-9])  
\D [^0-9]  
\s, \S 공백, 탭인 문자 / 공백, 탭이 아닌 문자  
\w, \W 알파벳 대소문자&숫자&"_" 허용 (= [a-zA-z_0-9]) / 허용하지 않음  
? 앞 표현식이 없거나 / 최대 한개만 허용 a1? : a (O), a1(O), a11(X)
* 앞 표현식이 없거나 / 있거나 (여러 개 가능) a1* :  a (O), a1(O), a11(O)
+ 앞 표현식이 1개 이상 a1+ : a (X), a1(O), a11(O)
{n} 앞 문자가 딱 n개만 존재 a{3} : aa(X) aaa(O) aaaa(X)
{n, m} 앞 문자가 n개 이상, m개 이하 존재해야 함 a{1, 3} : aa(O) aaa(O) aaaa(X)
{n,} 앞 문자가 n개 이상 존재해야 함 a{3,} : aa(X) aaa(O) aaaa(O)
.* 0개 이상의 모든 문자 의미, 와일드카드 %와 동일한 기능 %A%B%C% : A, B, C를 순서대로 포함

 

 

출처 : https://inpa.tistory.com/entry/JAVA-%E2%98%95-%EC%A0%95%EA%B7%9C%EC%8B%9DRegular-Expression-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%A0%95%EB%A6%AC

 

☕ 자바 정규식(Regular Expression) 사용법 💯 정리

정규표현식 이란 정규표현식(Regular Expression)이란 문자열 데이터 중에서 원하는 조건(패턴)과 일치하는 문자열 부분을 찾아내기 위해 사용하는 것으로, 미리 정의된 기호와 문자를 이용해서 작성

inpa.tistory.com

 

반응형