본문 바로가기
Java

정규표현식 (개념정리, Dangling meta character)

by 에어컨조아 2022. 6. 15.

개인적으로 사용하려고 하면 헷갈려 항상 검색하게 만드는 것 중 하나입니다.😂🤣
그래서 이번기회에 한번 정리하기 위해서 작성하게 되었습니다.
또한 TDD 학습 중 JAVA에서 Dangling meta character 에러가 발생하여 해당 내용까지 한번 알아보도록 하겠습니다.

https://github.com/phantom08266/java-racingcar-playground/blob/practice_game/src/main/java/AddCalculator.java

일반적인 패턴 정리

  • 소문자 한 개 : [a-z]
  • 대문자 한 개 : [A-Z]
  • 숫자 한 개 : [0-9], \d
  • 특수문자 한 개 : \(
    • 특수문자를 찾을 때는 역슬래쉬 2개를 사용하여 여는 괄호 하나를 찾는다.
  • 특수문자, 공백 한 개 : \w
  • 특수 문자와 공백 한 개 : \W
  • 공백 한 개 : \s
  • 공백 제외한 문자 한 개 : \S
  • 소문자를 제외한 모든 문자 한 개 : [^a-z]
    • 대괄호 안에서 ^를 사용할 경우
  • 가장 처음에 나오는 소문자 한 개 : ^[a-z]
    • 대괄호 밖에서 ^를 사용할 경우
  • 가장 나중에 나오는 소문자 한 개 : [a-z]$
  • 공백 포함 모든 문자 한 개 : .
  • 1개 이상 : +
  • 지정길이 : {3}
    • 매칭된 문자길이가 3이어야 한다.
    • {3,} 3이 최소
    • {,3} 3이 최대
    • {3,10} 3에서 10자리

Dangling meta character란?

일반적으로 프로그래밍에서는 특수문자를 일종의 규칙으로 보는 경우가 있습니다. 따라서 특수문자를 문자 그대로 인식 할 수 있도록 앞에 역슬래쉬(\)를 붙이는데요!

JAVA에서는 \\를 사용하여 특수문자를 처리한다고 합니다.

Untitled (10)

'Java' 카테고리의 다른 글

java Stream API는 for-loop보다 정말 느릴까?  (0) 2022.06.15
CQRS 패턴  (0) 2022.06.15
Java Random 클래스(Feat ThreadLocalRandom, SecureRandom)  (0) 2022.06.15
Optional orElse, orElseGet 차이  (0) 2022.06.15
Java Comparable vs Comparator  (0) 2022.06.15

댓글