Re: 43.2 범위판단하기 이해가 안됩니다.
, 도장_ 관리자님이 작성본문 설명은 다음과 같습니다.
*는 문자(숫자)가 0개 이상 있는지, +는 1개 이상 있는지 판단합니다.
예시를 보면
그럼 *와 +는 어디에 활용할까요? 다음과 같이 a*b와 a+b를 확인해보면 쉽게 알 수 있습니다.
>>> re.match('a*b', 'b') # b에는 a가 0개 이상 있으므로 패턴에 매칭됨
<_sre.SRE_Match object; span=(0, 1), match='b'>
>>> re.match('a+b', 'b') # b에는 a가 1개 이상 없으므로 패턴에 매칭되지 않음
>>> re.match('a*b', 'aab') # aab에는 a가 0개 이상 있으므로 패턴에 매칭됨
<_sre.SRE_Match object; span=(0, 3), match='aab'>
>>> re.match('a+b', 'aab') # aab에는 a가 1개 이상 있으므로 패턴에 매칭됨
<_sre.SRE_Match object; span=(0, 3), match='aab'>
*가 0개 이상 매칭에 쓰인다는 것은 없어도 된다는 뜻입니다.
+가 1개 이상 매칭에 쓰인다는 것은 반드시 1개는 일치하는 게 있어야 된다는 뜻입니다.