안녕하세요.
패스트 캠퍼스 수강후기 - 머신러닝과 데이터 분석 A-Z 11회차 미션 시작합니다!
머신러닝 인강 후기 11회차는 정규표현식에 대해 공부합니다.
패스트 캠퍼스 강의에서 제공하는 실습파일을 보면서 강사님의 지시에 따라 실습을 따라하시면 됩니다.
" 정규표현식 "
1) 정규표현식이란
특정한 패턴과 일치하는 문자열을 '검색', '치환', '제거'하는 기능을 지원하는 것입니다.
정규표현식의 도움 없이 패턴을 찾는 작업은 불완전하거나 작업의 비용이 높다는 단점이 있습니다.
2) raw string
문자열 앞에 r이 붙으면 해당 문자열이 구성된 그대로의 문자열로 변환됩니다.
a = 'abcdef\n'
print (a) #abcdef
b = r'abcde\n'
print (b) #abcdef\n
3) 기본 패턴
문자 하나하나의 character 들은 정확히 해당 문자와 일치합니다.
몇몇 문자들에 대해서는 특별한 의미로 사용됩니다.
.(마침표) - 어떤 한 개의 character와 일치
\w - 문자 character와 일치 [a-zA-Z0-9]
\s - 공백문자와 일치
\t, \n, \r - tab, newline, return
\d - 숫자 character와 일치 [0-9]
^ - 문자열의 시작
$ - 문자열의 끝
(\가 붙으면 스페셜한 의미가 없어집니다. 예를 들어 \.는 . 그 자체를 의미하고, \\은 \를 의미합니다.)
파이썬 정규표현식의 기본 패턴에 대한 더 자세한 내용은 링크를 참조하시면 됩니다.
4) search method
첫번째로 패턴을 찾으면 match 객체를 반환하고 패턴을 찾지 못하면 None을 반환합니다.
5) metacharacters
[] : 문자들의 범위를 나타내기 위해 사용합니다.
[abck] : a or b or c or k
[abc.^] : a or b or c or . or ^
[a-d] : -와 함께 사용되면 해당 문자 사이의 범위에 속하는 문자 중 하나
[0-9] : 모든 숫자
[a-z] : 모든 소문자
[A-Z] : 모든 대문자
[a-zA-Z0-9] : 모든 알파벳 문자 및 숫자
[^0-9] : ^가 맨 앞에 사용되는 경우, 해당 문자 패턴이 아닌 것과 매칭
6) \
\은 다른 문자와 함께 사용되어 특수한 의미를 지닙니다.
\d : 숫자. [0-9]와 동일
\D : 숫자가 아닌 문자. [^0-9]와 동일
\s : 공백 문자(띄어쓰기, 탭, 엔터 등)
\S : 공백이 아닌 문자
\w : 알파벳 대소문자. [a-zA-Z]와 동일
\W : non alpha-numeric 문자 [^a-zA-Z]와 동일
메타 캐릭터가 캐릭터 자체를 표현하도록 할 경우 사용합니다.
\. 는 .을, \\은 \을 뜻합니다.
7) .
모든 문자를 의미합니다.
re.search(r'p.g', 'pig') #<re.Match object; span=(0, 3), match='pig'>
8) 반복패턴
패턴 뒤에 위치하는 *, +, ? 는 해당 패턴이 반복적으로 존재하는지 검사합니다.
'+' -> 1번 이상의 패턴 발생
'*' -> 0번 이상의 패턴 발생
'?' -> 0 혹은 1번의 패턴이 발생
반복 패턴의 경우 greedy하게 검색하여 가능한 많은 부분이 매칭되도록 합니다.
re.search(r'a[bcd]*b', 'abcbdccb') #<re.Match object; span=(0, 8), match='abcbdccb'>
re.search(r'b\w+a', 'banana') #<re.Match object; span=(0, 6), match='banana'>
re.search(r'i+', 'piigiii') #<re.Match object; span=(1, 3), match='ii'>
머신러닝 인강 최강자를 만나고 싶으면!? https://bit.ly/3lZfGmn
'환급 챌린지!' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 13회차 미션 (0) | 2020.10.31 |
---|---|
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 12회차 미션 (0) | 2020.10.30 |
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 10회차 미션 (0) | 2020.10.28 |
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 9회차 미션 (0) | 2020.10.28 |
[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 8회차 미션 (0) | 2020.10.26 |