[사례] 주민등록번호를 포함하고 있는 텍스트에서 주민등록번호 뒷자리를 * 문자로 변경 - 주민등록번호 문자열은 주민등록번호 형식인지 조사한다. |
data = """ park 800904-1234567 kim 841204-1015478 """ result = [] for line in data.split("\n"): word_result = [] for word in line.split(): if len(word) == 14 and word[:6].isdigit() and word[7:].isdigit(): word = word[:6] + '-' + '*******' word_result.append(word) result.append(" ".join(word_result)) print("\n".join(result))
import re data = """ park 800904-1234567 kim 841204-1015478 """ pat = re.compile("(\d{6})[-]\d{7}") print(pat.sub(r”\1-*******", data))
. ^ $ * + ? {} [] \ | () |
정규식 | 문자열 | 매치 여부 |
[abc] | a | Yes |
before | Yes | |
dude | No |
정규 표현식 | 설명 |
\ | 정규 표현식에서 사용하는 문자 그대로 표현하려면 앞에 \를 붙임 예) \+, \* |
\d | 숫자와 매치, [0-9]와 동일한 표현식 |
\D | 숫자가 아닌 것과 매치, [^0-9]와 동일한 표현식 |
\s | 공백문자(space, tab)와 매치, [ \t\n\r\f\v]와 동일한 표현식 |
\S | 공백문자가 아닌 것과 매치 [^ \t\n\r\f\v]와 동일한 표현식 |
\w | 문자+숫자와 매치, [a-zA-Z0-9]와 동일한 표현식 |
\W | 문자+숫자가 아닌 문자와 매치, [^a-zA-Z0-9]와 동일한 표현식 |
09. 정규 표현식 - 2 (0) | 2023.10.27 |
---|---|
07. Web Scrapping (0) | 2023.10.26 |
06. HTTP 요청/응답 (0) | 2023.10.25 |
댓글 영역