인프런 커뮤니티 질문&답변
문자열에 뒤쪽에 * 넣으려고 하는데..
작성
·
196
답변 3
1
freedom07
질문자
답변 감사합니다.. 선생님 그런데 제 질문은
'32'는 숫자 2개인데 ([0-9]) 이렇게 집합 하나로만 묶어줘도 32중 2만 *로 바뀌는데
'가나' 문자2개는 ([가-힣])([가-힣]) 이렇게 집합 2개로 묶어줘야 집합순서에 맞게 *로 바뀌는 이유는 무엇인가요..?
숫자랑 문자는 차이가 있는건가요..?
0
박조은
지식공유자
([0-9]) 이건 숫자 하나를 의미해요. 맨 앞의 숫자는 위 정규표현식에서 고려하지 않아요.
숫자-문자-문자-숫자4자리 의 패턴을 보기 때문에 "32가나1234" 에서 "2가나1234" 규칙을 찾게 됩니다.
0
박조은
지식공유자
아래와 같이 해보세요.
car_num = "32가나1234"
# "32가*1234"
re.sub("([0-9])([가-힣])([가-힣])([\d]{4})", r"\1\2*\4", car_num)
아래와 같은 정규표현식을 학습할 수 있는 사이트가 있으니 아래 사이트에서 실습해 보세요.
또 검색을 해보면 예제가 많이 있으니 예제를 따라해 보세요.
[RegExr: Learn, Build, & Test RegEx](https://regexr.com/)





