◽ Java language/Java Regular Expression
[Java] regular expression : "hi.*"와 "hi.+"와 "hi*" 차이는?
kkk20000a
2023. 5. 3. 16:16
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" 다음에 어떤 문자도 나타나지 않으므로 불일치.