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개 \\ 를 붙이는 이스케이프처리가 필요하다.