🐤 study/Java

[Java] 정규식 정리

budtree 2022. 2. 2. 12:07

계속 추가할 계획..

🐤 문법

 

1. 연속된 문자열 치환하기

str.replaceAll("\\s{2,}", "");

\\s : 문자열 (특수부호의 연속인 경우 \\. 와 같이 사용)

{2,} : 2회 이상의

 

2. 특정 문자를 제외한 모든 문자 제거

s = s.replaceAll("[^\\d\\-_.]*", "");
//숫자나 -,_,.이 들어가지 않으면 모두 제거

\\d : 숫자(0-9)를 의미

^ : (중괄호 안에 들어가 있는 경우)not조건, "그 뒤에 들어가는 문자열에 해당하지 않으면 ~" 이라는 의미를 가짐.

\\ : \d와 같은 \가 자체적으로 들어가는 문법이나 특수문자의 사용에 필요함

 

3. 특정 문자로 시작하거나 종료하는 경우의 제거

new_id = new_id.replaceAll("^[.]|[.]$","");

^[.] : .으로 시작하는 경우(중괄호 밖에서의 ^은 문자열의 시작을 의미함.)

[.]$ : .으로 끝나는 경우(중괄호 밖에서의 $은 문자열의 종료를 의미함)

| : or의 의미(두 문법 중 하나만 해당해도 제거대상)