*는 바로 앞 요소를 0번 이상 반복해
여기서 가장 중요한 횟수는 0번이야. 앞 요소가 하나도 없어도 조건을 만족하므로 *가 붙은 조각은 빈 문자열을 매칭할 수 있어.
colou*r에서는 u가 반복 대상이야. 그래서 color, colour, colouur처럼 u가 없거나 여러 번 이어진 형태를 받아들이지만 colr는 받아들이지 않아. 반복이 끝난 뒤에도 마지막 o와 r은 반드시 있어야 하거든.
반복 범위는 왼쪽의 요소 하나야
ab*에서는b만 반복해서a,ab,abb가 되고[0-9]*에서는 숫자 문자 클래스가 반복해서 빈 문자열이나 연속된 숫자가 되고(ab)*에서는 그룹 전체가 반복해서 빈 문자열,ab,abab가 돼.
여러 글자를 함께 반복하려면 그 조각을 먼저 괄호로 묶어야 해.
빈 매칭이 필요한지 꼭 확인해
re.match(r'\d*', 'hello')는 숫자가 없어도 위치 0의 빈 문자열로 성공해. 이 결과가 요구사항과 맞는 경우도 있지만, 실제 값이 하나 이상 필요하다면 +를 써야 해. *를 선택했다면 앵커나 뒤의 필수 요소와 결합했을 때 빈 입력이 어떻게 처리되는지 시험해 봐.