IT/JAVA
[자바] 메타문자
머밍
2024. 8. 4. 15:27
메타문자
정규표현식 또는 정규식을 제어할 수 있는 문자
- . (점)
- 줄 바꿈 문자를 제외한 모든 단일 문자와 일치
- 예: a.b는 a 다음에 어떤 문자든 하나 있고 그 다음에 b가 오는 패턴과 일치 (aab, acb 등).
- ^ (캐럿)
- 문자열의 시작
- 예: ^a는 문자열의 시작이 a인 경우와 일치.
- $ (달러)
- 문자열의 끝
- 예: a$는 문자열의 끝이 a인 경우와 일치.
- * (별표)
- 앞의 문자가 0회 이상 반복됨 -> 바로 앞의 문자가 없거나 하나 이상
- 예: ab*는 a 다음에 b가 0개 이상 오는 패턴과 일치 (a, ab, abb, abbb 등)
- + (플러스)
- 앞의 문자가 1회 이상 반복됨 -> 바로 앞의 문자가 하나 이상
- 예: ab+는 a 다음에 b가 1개 이상 오는 패턴과 일치 (ab, abb, abbb 등)
- ? (물음표)
- 앞의 문자가 0회 또는 1회 나타남 -> 앞의 문자가 없거나 하나
- 예: ab?는 a 다음에 b가 0개 또는 1개 오는 패턴과 일치 (a, ab).
- [] (대괄호)
- 대괄호 안의 문자 중 하나와 일치 -> 한 문자를 가리키고 묶음 안의 내용은 가리키는 문자의 범위
- 예: [abc]는 a, b, 또는 c 중 하나와 일치.
- - (대쉬)
- 대괄호 내에서 문자 범위
- 예: [a-z]는 소문자 알파벳 중 하나와 일치.
- | (파이프)
- OR 연산자로서, 양쪽의 패턴 중 하나와 일치 -> 선택문에 사
- 예: a|b는 a 또는 b와 일치.
- () (괄호)
- 그룹화를 위해 사용 -> 괄호 안의 문자열은 하나로 묶어 취급
- 예: (ab)는 ab와 일치하며, 하나로 취급
- \ (백슬래시)
- 이스케이프 문자로, 메타 문자를 일반 문자로 해석되도록!
- 예: \.는 점(.) 문자 자체와 일치
- { }(중괄호)
- 정규 표현식에서 특정 개수의 반복을 지정
- -> 앞에 있는 문자의 개수를 나타내고 묶음 안에서 ','는 문자 개수의 범위를 나타낼 때
- 예: a{3}는 문자 a가 정확히 세 번 반복되는 것을 의미
메타문자에 split 처리하는 방법
메타문자 중 ?, *, +, ( ), [ ], { }는 split이 불가능
split을 위해선 메타문자 앞에 역슬래쉬 2개 \\ 를 붙이는 이스케이프처리가 필요하다.