inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

공공데이터로 파이썬 데이터 분석 시작하기

[15/21] 이메일, 자동차 등록번호 정규표현식으로 마스킹 하기

전화번호와 자동차등록번호 마스킹 차이점

482

freedom07

작성한 질문수 104

1

선생님 전화번호마스킹할 때에는  

re.sub('(\d{3})-(\d{2})(\d{2})-(\d{2})(\d{2})', r'\1-\2**-**\5', '010-1234-5678')
이런식으로
() 괄호 안에 \d 를 그냥 써주셨는데..

자동차등록번호 마스킹할 때에는 
re.sub("([0-9])([가-힣])([\d])([\d]{2})([\d])", r"*\2\3**\5", car_num)

이런식으로
()괄호안에 \d를 쓸 때 [] 안에 넣는 이유는 무엇인가요?

별차이가 없는건지.. 왜 []를 써주었는지 궁금합니다..

python pandas numpy

답변 1

0

박조은

정규표현식 문서를 한번 읽어보는 것을 추천합니다.

아래 링크의 정규표현식 문서를 참고해 보세요. [] 는 문자클래스를 의미합니다.

"["과 "]" 사이의 문자 중 하나를 선택한다. "¦"를 여러 개 쓴 것과 같은 의미이다. 예를 들면 [abc]d는 ad, bd, cd를 뜻한다. 또한, "-" 기호와 함께 쓰면 범위를 지정할 수 있다. "[a-z]"는 a부터 z까지 중 하나, "[1-9]"는 1부터 9까지 중의 하나를 의미한다.

https://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D

메타문자 기능 설명
. 문자 1개의 문자와 일치한다. 단일행 모드에서는 새줄 문자를 제외한다.
[ ] 문자 클래스 "["과 "]" 사이의 문자 중 하나를 선택한다. "¦"를 여러 개 쓴 것과 같은 의미이다. 예를 들면 [abc]d는 ad, bd, cd를 뜻한다. 또한, "-" 기호와 함께 쓰면 범위를 지정할 수 있다. "[a-z]"는 a부터 z까지 중 하나, "[1-9]"는 1부터 9까지 중의 하나를 의미한다.
[^ ] 부정 문자 클래스 안의 문자를 제외한 나머지를 선택한다. 예를 들면 [^abc]d는 ad, bd, cd는 포함하지 않고 ed, fd 등을 포함한다. [^a-z]는 알파벳 소문자로 시작하지 않는 모든 문자를 의미한다.
^ 처음 문자열이나 행의 처음을 의미한다.
$ 문자열이나 행의 끝을 의미한다.
( ) 하위식 여러 식을 하나로 묶을 수 있다. "abc¦adc"와 "a(b¦d)c"는 같은 의미를 가진다.
\n 일치하는 n번째 패턴 일치하는 패턴들 중 n번째를 선택하며, 여기에서 n은 1에서 9 중 하나가 올 수 있다.
* 0회 이상 0개 이상의 문자를 포함한다. "a*b"는 "b", "ab", "aab", "aaab"를 포함한다.
{m, n} m회 이상 n회 이하 "a{1,3}b"는 "ab", "aab", "aaab"를 포함하지만, "b"나 "aaaab"는 포함하지 않는다.

패키지 설치 에러 ydata-profiling

0

119

2

자세한 설명 부탁드려요 ㅜ

0

176

2

seaborn 라이브러리 호출하였으나 그래프가 안 그려져요

0

285

2

value_counts와 count 차이

0

341

2

안녕하세요 데이터 최신과 관련해서 문의드립니다.

0

204

3

scatterplot질문

0

122

1

강의 화면이 안나옵니다

0

164

2

4분12초 2013년부터 데이터가 없으면 어떻게하나요?..

0

188

2

에러 메시지

1

303

2

그래프 색이 동일하게 나옵니다.

0

308

2

시각화 라이브러리 비교

0

382

2

주피터 노트북 설치

0

390

1

2. 상가 기술통계 아웃풋 자료에서 오류가 납니다

0

226

1

14. distplot g = sns.FacetGrid(df_last, row="지역명", height=1.7, aspect=4) g.map(sns.distplot, "평당분양가격", hist=False, rug=True); 오류

0

178

1

group by agg function failed 에러

0

687

2

빈도수가 1000개 이상인 데이터를 따로 담을 때 코드 질문 있습니다.

0

288

2

주피터 노트북 실행 했는데 앞에 *가 생기고 결과가 나오지 않아요

0

363

3

get_string함수에서 문자 'nan'

0

200

1

seaborn X축 시작 지점 조정 질의의 건

0

212

1

14강 distplot 질의

0

289

1

nbextension 설치 및 셋팅 후 적용이 안되는 이슈

0

477

1

corr = df.corr() 입력시 오류

1

372

1

keyword grid_b is not recognized

0

334

1

%ls data 매직커맨드 사용시 한글 깨짐

0

292

1