2024. 4. 25. 17:38ㆍ전처리/PYTHON
✏️학습 계기
1. 데이터 클렌징을 하다보니 (특히 도서 플랫폼) 정규 표현식을 알아둬야 편하겠더라.
2. 허깅페이스🤗 사용법을 찾아보다가 독스에 정규 표현식이 보여서 정리해본다.
3. 점프투파이썬을 배울 때 학습했던 내용인데, 그땐 어려웠지만 지금은 이해가 된다.
01 특히 중요한 부분: 모듈 함수
search()가 정규 표현식 전체에 대해서 문자열이 매치하는지를 본다면, match()는 문자열의 첫 부분부터 정규 표현식과 매치하는지를 확인한다. 문자열 중간에 찾을 패턴이 있더라도 match 함수는 문자열의 시작에서 패턴이 일치하지 않으면 찾지 않는다.
02 학습 내용
import re
r = re.compile("a.c")
r.search("kkk") -> 아무런 결과도 출력되지 않음.
r.search("abc") -> <re.Match object; span=(0, 3), match='abc'>
1. re.compile(): 함수를 사용하여 정규 표현식 패턴을 컴파일한다.
2. search(): 메서드를 사용하여 주어진 문자열에서 패턴을 찾는다.
2. span=(0, 3): 찾은 패턴이 주어진 문자열에서의 인덱스 범위를 나타낸다.
<re.Match object; span=(0, 3), match='abc'>
- 여기서 (0, 3)은 패턴이 문자열의 0번째 인덱스부터 3번째 인덱스까지의 부분 문자열에 일치한다는 것을 의미한다.
- match='abc': 찾은 패턴에 해당하는 문자열이다. 여기서는 "abc"를 의미한다.
- 해당 메시지는 주어진 문자열에서 "a.c"와 일치하는 부분 문자열 "abc"가 0번째 인덱스부터 3번째 인덱스까지에 있다는 것을 알려준다.
- 인덱스는 0부터 시작하므로 "abc"의 인덱스는 0, 1, 2가 맞다. 이것은 Python의 슬라이싱과 동일하다.
- 따라서 "abc"는 0번째부터 2번째 인덱스까지의 문자열이다.
- 3번째 인덱스는 "abc"의 다음 위치를 가리키므로 일치 범위의 끝을 나타낸다.
03 모듈 함수 모음
04 참고 링크
02-05 정규 표현식(Regular Expression)
텍스트 전처리에서 정규 표현식은 아주 유용한 도구입니다. 이번에는 파이썬에서 지원하고 있는 정규 표현식 모듈 re의 사용 방법과 NLTK를 통한 정규 표현식을 이용한 토큰화에 대…
wikidocs.net
05 역슬래쉬 문자 규칙
\\ | 역 슬래쉬 문자 자체를 의미합니다 |
\d | 모든 숫자를 의미합니다. [0-9]와 의미가 동일합니다. |
\D | 숫자를 제외한 모든 문자를 의미합니다. [^0-9]와 의미가 동일합니다. |
\s | 공백을 의미합니다. [ \t\n\r\f\v]와 의미가 동일합니다. |
\S | 공백을 제외한 문자를 의미합니다. [^ \t\n\r\f\v]와 의미가 동일합니다. |
\w | 문자 또는 숫자를 의미합니다. [a-zA-Z0-9]와 의미가 동일합니다. |
\W | 문자 또는 숫자가 아닌 문자를 의미합니다. [^a-zA-Z0-9]와 의미가 동일합니다. |
공백 문자 클래스
1. 정규 표현식에서 [ \t\n\r\f\v] 또는 \s는 모든 공백 문자를 나타낸다.
2. 공백 문자들은 주로 문자열에서 공백을 찾거나 제거할 때 사용된다.
\t | 탭을 나타낸다. |
\n | 줄바꿈을 나타낸다. |
\r | 캐리지 리턴을 나타낸다. |
\f | 폼 피드를 나타낸다. |
\v | 수직 탭을 나타낸다. |
'전처리 > PYTHON' 카테고리의 다른 글
클래스: from collections import Counter (0) | 2024.05.12 |
---|---|
정규 표현식을 이용한 토큰화 - NLTK의 RegexpTokenizer (0) | 2024.04.25 |
Python 라이브러리 : Streamlit 실습 (0) | 2024.04.14 |
데이터베이스 & 파이썬 도전 학습 1, 2 (0) | 2024.03.21 |
파이썬 코드카타 : 37, 38, 39, 40번🥹🥳 (0) | 2024.03.14 |