정규표현식 문법과 예제
^,$ - 문자열의 시작과 끝
^regex : 문자열의 시작이 regex 에 해당하는 경우
regex$ : 문자열의 끝이 regex에 해당하는 경우
String result1, result2;
String str = ".123!";
result1 = str.replaceAll("^.", "*");
System.out.println(result1);
result2 = str.replaceAll("!$", "*");
System.out.println(result2);
// 출력
*123!
.123*
[ ] - 문자의 집합 범위
"." 는 일반적으로 모든 문자를 의미하지만 대괄호 '[]' 안에 있을 경우는 문자 그대로의 '.' 을 의미합니다/
[abc] : a, b, c 중 문자 1개
[abc][xyz] : a, b, c 중 문자 1개와 x, y, z 중 문자 1개 조합
[^abc] : a, b, c 제외한 문자 1개
String str = "This is a book.";
System.out.println(str.replaceAll("[abc]", "*"));
System.out.println(str.replaceAll("[ijk][opqrs]", "*"));
System.out.println(str.replaceAll("[^This]", "*"));
//This is * *ook.
//Th* * a book.
//This*is********
This is * *ook. // a, b -> *
Th* * my book. // (i,j,k)와 (o,p,q,r,s)의 조합인 is -> *
This*is********* // (T,h,i,s)에 포함되지 않은 문자 -> * (공백도 포함되지 않은 문자다)
[0-9] : 0~9 사이 숫자
[a-z] : 소문자 a~z 사이 문자
[A-Z] : 대문자 A~Z 사이 문자
[a-zA-Z] : 알파벳 문자
String str = "Contact : 010-1234-5678";
System.out.println(str.replaceAll("[0-9]", "*"));
System.out.println(str.replaceAll("[a-z]", "*"));
System.out.println(str.replaceAll("[A-Z]", "*"));
System.out.println(str.replaceAll("[a-zA-Z]", "*"));
Contact : ***-****-****
C****** : 010-1234-5678
*ontact : 010-1234-5678
******* : 010-1234-5678
{ } - 횟수 또는 범위
X{n} : X가 정확히 n개 존재
X{n, } : X가 최소 n개 존재
X{n, m} : X가 n개 이상 m개 이하 존재
String str = "aaa.bbbb.cc.aa.b.ccc.a";
System.out.println(str.replaceAll("a{2}|b{3}|c{1}", "*"));
System.out.println(str.replaceAll("a{2,}|b{3,}|c{1,}", "*"));
System.out.println(str.replaceAll("a{2,3}|b{3,4}|c{1,3}", "*"));
*a.*b.**.*.b.***.a
*.*.*.*.b.*.a
*.*.*.*.b.*.a
regex를 지원하는 String 메서드
- String.matches(regex) : Stirng이 regex와 일치하면 true 리턴
- String.split(regex) : regex와 일치하는 것을 기준으로 String을 분리하여 배열로 리턴
- String.replaceAll(regex, replacement) : regex와 일치하는 모든 것을 replacement로 변환
'알고리즘' 카테고리의 다른 글
백준 12865 평범한 배낭 [JAVA] (0) | 2024.09.26 |
---|---|
[백준] 11729 : 하노이 탑 이동 순서 (0) | 2024.09.24 |
[자바] Stream 으로 int 1차원 배열 최댓값 찾기 (0) | 2024.08.08 |
[자바] - List to int 배열 (Stream) , List to String[] (0) | 2024.08.08 |
[자바정렬] Arrays.sort() Collections.sort() (0) | 2024.08.06 |