2021 KAKAO BLIND RECRUITMENT - 신규 아이디 추가
2021 KAKAO BLIND RECRUITMENT - 신규 아이디 추가
문제 풀이
🔖 소스 코드
오늘 문제는 정규표현식과 replaceAll(String regex, String replacement) 메서드를
사용하여 해결하는 구현 문제였다.
정규표현식
| 정규 표현식 | 설명 |
|---|---|
^ |
문자열 시작 |
$ |
문자열 종료 |
. |
임의의 한 문자 |
* |
앞 문자가 없을 수도 무한정 많을 수도 있음 |
+ |
앞 문자가 하나 이상 반복 |
? |
앞 문자가 없거나 하나 있음 |
[ ] |
문자의 집합이나 범위를 나타내며 두 문자 사이는 -로 범위를 나타낸다. [] 내에서 ^가 있으면 not을 의미한다. |
{ } |
회수 또는 범위를 나타낸다. |
( ) |
소괄호 한의 문자를 하나의 문자로 인식 |
| |
패턴 안에서 or 연산을 수행 |
\ |
확장문자: 역슬래시 다음에 일반 문자가 오면 특수문자로 취급하고 역슬래시 다음에 특수문자가 오면 그 문자 자체를 의미 |
\b |
단어의 경계 |
\B |
단어가 아닌것에 대한 경계 |
\A |
입력의 시작 부분 |
\G |
이전 매치의 끝 |
\Z |
입력의 끝이지만 종결자가 있는 경우 |
\z |
입력의 끝 |
\s |
공백문자 |
\S |
공백문자가 아닌 나머지 문자 |
\w |
알파벳이나 숫자 |
\W |
알파벳이나 숫자를 제외한 문자 |
\d |
숫자 [0-9]와 동일 |
\D |
숫자를 제외한 모든 문자 |
?! |
대소문자를 구분하지 않는다. |
예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
String pattern = "[2]{4,6}";
String str = "2222222";
boolean result = Pattern.matches(pattern, str); // False
String pattern1 = "^[0-9]*$";
String str1 = "123";
boolean result1 = Pattern.matches(pattern1, str1); // true
String pattern2 = ".+";
String str2 = "..";
boolean result2 = Pattern.matches(pattern2, str2); // true
String pattern3 = ".*";
String str3 = "..";
boolean result3 = Pattern.matches(pattern3, str3); // true
String pattern4 = ".?";
String str4 = "..";
boolean result4 = Pattern.matches(pattern4, str4); // False
String pattern5 = "[\\d]+";
String str5 = "12";
boolean result5 = Pattern.matches(pattern5, str5); // true
String pattern6 = "[\\%]";
String str6 = "%";
boolean result6 = Pattern.matches(pattern6, str6); // true
이 기사는 저작권자의
CC BY 4.0
라이센스를 따릅니다.