인프런 커뮤니티 질문&답변

sc님의 프로필 이미지
sc

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

크롤링을 위한 지식: 크롤링과 프로그래밍 고급 문자열 기술 - 정규표현식3 (업데이트)

정규표현식 주민번호 뒷자리 표시 관련

작성

·

835

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

안녕하세요.

기존 코드와 조금 다를 수 있지만, 다음과 같은 방식으로 해도 가능할 것 같습니다.

----------

import re

예문 = "123456-1234567"

패턴 = re.compile(

    r"(\d{6}-\d{1})\d{6}"

)

print(

    패턴.sub("\g<1>******", 예문)

----------

감사합니다.

sc님의 프로필 이미지
sc

작성한 질문수

질문하기