본문 바로가기

Java

정규표현식

  • ^: 문자열의 시작을 표시. 정규 표현식은 그 표현식에 일치하는 부분이 문자열의 시작이나 중간 또는 끝부분 어디에 나타나든 관계없지만 "^" 심벌을 표현식의 앞쪽에 넣어주면 일치하는 부분이 반드시 문자열의 제일 앞쪽에 있어야 함을 의미한다.
  • $: 문자열의 끝을 표시. "^"와는 반대로 표현식의 끝부분에 "$"를 넣어주면 일치하는 부분이 반드시 문자열의 제일 끝에 있어야 함을 의미한다.
  • []: 문자 그룹을 표시. [xyz] 또는 [x-z]라고 표현하면 'x', 'y', 'z' 문자 중 하나인지 확인하는 것이다. 대괄호는 문자열이 아니라 문자 하나와 일치하는지를 확인하는 것이다.
  • (): 문자열 그룹을 표시. (xyz)라고 표현하면 세 문자 중 한 문자가 있는지 체크하는 것이 아니라 반드시 "xyz"가 모두 있는지 확인하는 것이다.
  • |: "|"로 연결된 문자열 중 하나인지 확인한다. "abc|xyz"라고 표현하면 "abc"이거나 "xyz"인지 확인하는 것이다.
  • .: 어떠한 문자든지 1개의 문자를 표시하며, 정규 표현식으로 "..."이라고 표현했다면 3개의 문자(실제 문자의 값과 관계없이)로 구성된 문자열을 찾는 것이다.
  • *: 이 기호 앞에 표시된 정규 표현식이 0 또는 1번 이상 반복될 수 있다는 표시다.
  • +: 이 기호 앞에 표시된 정규 표현식이 1번 이상 반복될 수 있다는 표시다.
  • ?: 이 기호 앞에 표시된 정규 표현식이 0 또는 1번만 올 수 있다는 표시다.
예제  
[0-9]* '0'~'9'까지의 숫자만 0 또는 1번 이상 반복되는 문자열을 위한 정규 표현
[a-z]* 'a'~'z'까지의 소문자 알파벳만 0 또는 1번 이상 반복되는 문자열을 위한 정규 표현
[a-zA-Z]* 'a'~'z'까지, 그리고 'A'~'Z'까지 대소문자 알파벳만 0 또는 1번 이상 반복되는 문자열을 위한 정규표현
[a-zA-Z0-9]* 영문 대소문자와 숫자만으로 구성된 문자열에 대한 정규 표현
^Tear Tear 문자열로 시작하는 정규 표현
Tear$ Tear 문자열로 끝나는 정규 표현
^Tear$ Tear와 같은 문자열에 대한 정규 표현. 이 경우는 'T'로 시작하고 연속해서 ear이 나타나야 하며, 그  뒤에 아무런 문자가 없어야 한다.

'Java' 카테고리의 다른 글

equals()와 hashCode()에 대해  (0) 2023.04.10
Java Garbage Collection  (0) 2022.09.22