What is Regular Expression?
특정한 문자의 패턴을 정의하는 방식!!
데이터를 수집하거나 전처리할 때 사용된다.
실습 가능 사이트
RegExr: Learn, Build, & Test RegEx
RegExr: Learn, Build, & Test RegEx
RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).
regexr.com
위 사이트에서 정규표현식을 쉽게 연습해볼 수 있다.
그럼 어떻게 사용할 수 있는가? >> 메타문자를 사용!!
메타문자는 검사 범위를 지정하거나 수량 그리고 검사 위치를 나타내는 등
기능에 따라 세부적인 분류를 한다.
메타문자를 사용해서 예제를 연습해보도록하자. 필자는 ChatGPT를 이용해서 예제를 만들었다.
예제1. 텍스트 내의 IP주소를 추출하는 정규표현식을 작성해보자 (IP주소는 xxx.xxx.xxx.xxx의 형식)
더보기
![](https://blog.kakaocdn.net/dn/bNnvMV/btr3IYkllH1/lWzAZvWKde1O3L4KUCWRC1/img.png)
정답 >> [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}
- 역슬래시(\)를 제외하더라도 코드는 실행된다.
하지만 정확한 입력을위해 역슬래시를 붙여 dot(.)가 기호임을 나타내자
![](https://blog.kakaocdn.net/dn/bNnvMV/btr3IYkllH1/lWzAZvWKde1O3L4KUCWRC1/img.png)
예제2. 텍스트 내의 전화번호를 추출하는 정규표현식을 작성해보자 (전화번호는 xxx-xxx-xxxx의 형식)
더보기
정답 >> [0-9]{2,4}-[0-9]{3,4}-[0-9]{3,4}
예제3. 텍스트 내의 전화번호를 추출하는 정규표현식을 작성해보자 (전화번호는 (xxx)xxx-xxxx의 형식)
더보기
정답 >> \([0-9]{1,4}\)[0-9]{3,4}-[0-9]{3,4}
- 역슬래시(\)를 제외하면 코드는 실행되지 않는다.
그렇다면 파이썬에서는 어떻게 활용될 수 있을까?
1. Pattern 생성
- re.complie() # 정규표현식을 컴파일한다.
# a로 시작하며 그 뒤에 b가 0개 이상 붙어있는 패턴
p = re.compile('ab*')
# 패턴은 Pattern이라는 클래스의 객체이다.
print(type(p))
print(p.__class__.__name__)
2.re.Pattern클랙스의 유용한 메소드
- match(): 문자열의 처음부터 정규식과 매치되는지 조사
- search(): 문자열 전체를 탐색하여 정규식과 매칭되는지 조사
- findall(): 정규식과 매칭되는 모든 문자열을 반환
- finditer(): 정규식과 매칭되는 모든 문자열을 반복가능한 객체 형태로 반환한다.
2.re.compile()의 옵션 사용
- re.DOTALL,re.S
\n도 포함하여 매칭하고 싶을 때 사용 - re.IGNORECASE, re.I
대소문자 구별 없이 매칭할 때 사용 - re.MILTILINE, re.M
패턴을 문자열의 각 줄마다 적용해 주는 것 - re.VERBOSE (additional)
문자열에 사용된 whitespace를 컴파일할 때 제거됨
'데이터사이언스 대학원 생활 > TextAnalytics' 카테고리의 다른 글
파이썬 유튜브(Youtube)API 활용 /원하는 키워드 영상 댓글 추출 (0) | 2023.07.14 |
---|---|
파이썬 카카오 검색 API 활용 웹스크래핑(3) (0) | 2023.07.13 |
파이썬 카카오 검색 API 활용 웹스크래핑(2) (0) | 2023.06.13 |
파이썬 카카오 검색 API 활용 웹스크래핑 (0) | 2023.05.26 |
Selenium 설치 방법 (0) | 2023.03.20 |