파이썬 정규식으로 주민등록번호 뒷자리 6자리를 *표시 하려면 어떻게해야하나요?
조회수 2227회
import re
ju = input("") # 123456-1234567
print(re.sub("d{7}","1******", ju))
6자리로 끊고 앞자리를 나오게 하려면 어떻게 넣어야하는지 모르겠습니다....ㅜㅜ
1 답변
-
정규식 컴파일시에 그룹핑을 쓰시면 간단합니다.
예제를 한 번 보시면 간단히 이해되실 거에요.
임의로 코드를 좀 벌렸습니다...
import re 예문 = "123456 - 1234567" 패턴 = re.compile( r"(\d{6} - \d{1})\d{6}" ) print( 패턴.sub("\g<1>******", 예문) ) # 결과값 : 123456 - 1******
코드 중 위 식의 소괄호 (...) 와 아래 식의 "\g" 이 그룹핑 연관 문법입니다.
다른 방식으로 써보면,
import re 예문 = "123456 - 1234567" 패턴 = re.compile( r"(\d{6}) - (\d{1})\d{6}" ) print( 패턴.sub("\g<1> - \g<2>******", 예문) ) # 결과값 : 123456 - 1******
-
(•́ ✖ •̀)
알 수 없는 사용자
- 엇.. 죄송하지만 제가 이상한건지 결과값이 알려주신것처럼 나오지 않네요 다크매터 2018.4.6 14:24
- 해시코드 "실행하기"로 해 보셨나요?^^; 혹시 예문 대시 양옆에 스페이스바 들어간 것도 체크하셨는지?ㅎ 알 수 없는 사용자 2018.4.6 14:39
-
댓글 입력