
오랜만에 블로그를 쓰는군 ㅎㅎㅎ
새해 첫 블로그당!! 모두모두 행복한 2022년을 보냈으면 좋겠다
오늘은 정규표현식을 배웠다. 지난주에는 계속 실행하면서 복습을 했당
오늘 배운건 좀 재밌었다
크게 어렵지 않은 느낌..신기한 느낌이었당
<regex_programmers>
□ 정규표현식 regular expression (패턴을 잘 찾는게 중요!)
▶정규표현식과 일치하는 부분을 모두 찾아주는 파이썬 코드
result = re.findall(regex, search_target)
result
▶re.findall() : 문자열 속에서 정규식과 매칭되는 것들을 모두 찾아 리스트로 반환해주는 함수
▶전화번호를 찾는 정규(표현)식 0\d{1,2}[ -]?\d{3,4}[ -]?\d{3,4}
0 : 숫자 0
\d{1,2} : 숫자가 1개~2개
[ -]? : 빈칸 또는 -가 0개~1개
(전화번호를 그냥 빈칸없이 01020293930 이렇게 쭉쓰 는 사람도 있어서 0개 또는 1개다)
[]안에 빈칸이랑 -가 들어가 있음
\d{3,4} : 0~9까지 숫자가 3개~4개
[ -]? : 빈칸 또는 -가 0개~1개
\d{3,4} : 숫자가 3개~4개
▶ 숫자 하나씩만 추출하고 싶을때 \d
▶ 문자와 숫자들 중 하나씩 추출하고 싶을때 \w [A-Za-z0-9]
▶하나 이상 추출할 때
X+ : X가 무조건 출현, 한번 이상 출현
\d+ : 숫자가 무조건 한 번 이상 출현
▶ *은 "0개 이상"이라는 뜻입니다.
따라서 \d*는 "숫자가 0개 이상이다"를 의미합니다.
이를 이용하면 자연수는 [1-9]\d*로 표현할 수 있습니다.
▶[1-9] : 문자열은 무조건 1-9 사이 숫자로 시작한다.
▶-? : -가 0번 또는 1번 출현
▶[- ]? : - 또는 공백이 0번 또는 1번 출현
▶\d{2,3} : 숫자가 2개 또는 3개 (숫자 갯수 지정)
▶연속된 한글 단어를 찾을 때 [가-힣]+
▶\s : 공백 문자(스페이스, 탭, 뉴라인)
\S : 공백 문자를 제외한 문자
\d : 숫자
\D : 숫자를 제외한 모든 문자
\w : alphanumeric(문자+숫자)
\W : non-alphanumeric(문자 및 "_" 제외한 특수문자, 공백 등)
▶. : 임의의 문자 하나
▶regex = '...\.' \뒤에 있는 것들은 문자 그대로를 뜻해서 맨뒤에 .이 있는 것들만 나오게 된다
▶regex = '[cmf]an' cmf 중 아무거나가 나오고 뒤에 an이 나옴
▶regex = '[^drp]an' ^를 붙이면 부정을 나타냄. dan, ran, pan빼고 추출된다.
▶regex = '[A-C][n-p][a-c]' 한자리씩 범위를 지정할 수 있다
['Ana', 'Bob', 'Cpc']
▶문자 갯수 범위를 이용한 추출 regex = 'waz{3,5}up'
search_target = 'wazzzzzup, wazzzup, wazup'
['wazzzzzup', 'wazzzup']
☞ wazup는 z가 하나밖에 없어서 스킵된 것
▶
regex = '\d+ files? found\?' #files? 여기서 file까지는 그대로인데 s가 들어갈수도 있고 아닐수도 있다는 것
search_target = '1 file found?, 2 files found?, 24 files found?, No files found.'
▶s+ 공백 한개 이상이라는 뜻
regex = '\d\.\s+[a-z]+'
search_target = "'1. abc', '2. abc', '3. abc', '4.abc'"
['1. abc', '2. abc', '3. abc']
▶^...S : 문자열의 시작(^)과 끝($) 지정해서 문자 추출
regex = '^Mission: successful$'
search_target = "Mission: successful"
['Mission: successful']
▶.+ : 임의의 문자 아무거나 하나이상이 온다는 것
▶regex = 'I love (cats|dogs)' cats 또는 dogs 있는 것만 추출
'PYTHON' 카테고리의 다른 글
input() (0) | 2022.02.16 |
---|---|
[빅데이터 분석] 2022.01.05 BeautifulSoup, 크롤링 (0) | 2022.01.05 |
[빅데이터 분석] 2021.12.29 HTML, 블로그 내용 크롤링 (0) | 2021.12.29 |
[빅데이터 분석] 2021.12.28 프로그래밍, HTML (0) | 2021.12.29 |
[빅데이터 분석] 2021.12.24 예외처리, 파일 다루기, Pickle 모듈, CSV 파일, 로그 관리, 설정 저장 (0) | 2021.12.24 |