🟢 정규식으로 사용하는 메서드 (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를 순서대로 포함 |
'Java' 카테고리의 다른 글
[Java] String format을 사용해 출력하기 (0) | 2024.05.02 |
---|---|
문제 풀 때 헷갈리는 자바 문법 정리 (0) | 2024.01.19 |
[ERROR] Web server failed to start. Port 8080 was already in use. 해결법 (0) | 2022.09.24 |