◽ Java language/Java Regular Expression

[Java] regular expression : "hi.*"와 "hi.+"와 "hi*" 차이는?

2023.05.03 - [◽ Java language/Java Regular Expression] - [Java] 정규식 regular expression


정규식

  이전에 글을 정리했어도, 스스로 질문 사항들이 많이 생겨서 혼자서 정리하려고 간단하게 글을 남긴다.


차이점 "hi.*", "hi.+", "hi*"

  정규 표현식부터 정리를 간단히 하자면,

  • 마침표(.): 어떤 문자 하나를 의미.
  • 별표(*): 앞의 문자나 문자열이 0개 이상 나타날 수 있다는 것을 의미.
  • 더하기(+): 앞의 문자나 문자열이 1개 이상 나타나야 한다는 것을 의미.

 

  그러나 가장 직관적으로 이해하기 쉬운건 역시나 예시가 있어야한다.

  • "hi*"
    • "hi": "i" 문자가 0개 이상 나타나므로 일치.
    • "hii": "i" 문자가 0개 이상 나타나므로 일치.
    • "hiiii": "i" 문자가 0개 이상 나타나므로 일치.
    • "ht": "i" 문자가 나타나지 않으므로 불일치.
    • "hit": "hi" 다음에 "i" 문자가 나타나므로 일치.
  • "hi.*"
    • "hi": 어떤 문자가 0개 이상 나타날 수 있으므로 일치.
    • "hi there": "hi" 다음에 공백을 포함한 어떤 문자가 0개 이상 나타날 수 있으므로 일치.
    • "hi123": "hi" 다음에 숫자가 0개 이상 나타날 수 있으므로 일치.
    • "ht": "hi" 다음에 어떤 문자도 나타나지 않으므로 불일치.
    • "hit": "hi" 다음에 "i" 문자가 0개 이상 나타날 수 있으므로 일치.
  • "hi.+"
    • "hi there": "hi" 다음에 하나 이상의 문자가 나타나므로 일치.
    • "hiiii": "hi" 다음에 하나 이상의 문자가 나타나므로 일치.
    • "hi123": "hi" 다음에 하나 이상의 문자가 나타나므로 일치.
    • "hi": "i" 문자가 하나 이상 나타나지 않으므로 불일치.
    • "ht": "hi" 다음에 어떤 문자도 나타나지 않으므로 불일치.

 

'◽ Java language > Java Regular Expression' 카테고리의 다른 글

[Java] 정규식 regular expression  (0) 2023.05.03

푸터바