인프런 커뮤니티 질문&답변
정규표현식 주민번호 뒷자리 표시 관련
작성
·
909
0
크롤링을 위한 지식: 크롤링과 프로그래밍 고급 문자열 기술 - 정규표현식3 (2020 업데이트, 2020.12 자료 업데이트!) 5:30 가량에서
주민번호 뒤 7자리를 *로 바꾸는 법을 알려주셨는데요
혹시 뒤 6자리만 *로 바꾸고 앞의 1자리(성별)은 입력하는대로 놔두게 하려면 어떻게 해야할까요?
전 아래와 같이 해보려고 했는데, 2번째 인자에는 들어가는 그대로만 입력되나봐요(정규식이 안먹히나봐요)
#주민번호를 입력하면 그 뒷 6자리를 *로 바꿔라.
import re
idnum = input('what is your id num?')
re.sub('-[-0-9]{7}', '-[0]******', idnum)
답변 1
1
잔재미코딩 DaveLee
지식공유자
안녕하세요.
기존 코드와 조금 다를 수 있지만, 다음과 같은 방식으로 해도 가능할 것 같습니다.
----------
import re
예문 = "123456-1234567"
패턴 = re.compile(
r"(\d{6}-\d{1})\d{6}"
)
print(
패턴.sub("\g<1>******", 예문)
)
----------
감사합니다.





