728x90
정규 표현식(re)
문자열을 검색, 추출, 대체하는데 사용되는 강력한 도구
- 기본 패턴:
- ^: 문자열의 시작과 매치
- $: 문자열의 끝과 매치
- 문자 클래스:
- []: 대괄호 안에 있는 어떤 문자와도 매치
- 예: [abc]는 'a', 'b', 'c' 중 하나와 매치
- []: 대괄호 안에 있는 어떤 문자와도 매치
- 반복:
- *: 패턴이 0번 이상 반복
- +: 패턴이 1번 이상 반복
- ?: 0 또는 1번의 패턴 발생
- 특수 문자:
- \: 다음에 오는 특수문자를 일반 문자로 취급
- 예: \.는 실제 '.' 문자와 매치
- \: 다음에 오는 특수문자를 일반 문자로 취급
- 특수 문자 클래스:
- \d: 숫자와 매치
- \D: 숫자가 아닌 것과 매치
- \w: 숫자 또는 문자와 매치
- \W: 숫자 또는 문자가 아닌 것과 매치
- \s: 공백 문자와 매치
- \S: 공백이 아닌 문자와 매치.
- 그룹:
- (): 그룹을 지정하여 그룹 단위로 매치를 수행
- 예: (abc)+는 'abc', 'abcabc', 등과 매치
- (): 그룹을 지정하여 그룹 단위로 매치를 수행
<사용 방법>
- re 모듈을 사용하기 위해 import를 삽입 > import re
1. search(): 문자열 전체에서 패턴과 매치되는 부분을 찾음
>>> import re
>>> hello = 'Hello world!!'
>>> print(re.search('^Hello', hello))
>> hello에서 Hello로 시작하는 문자열을 찾아줘.
<re.Match object; span=(0, 5), match='Hello'>
2. match(): 문자열의 시작부터 패턴과 매치되는지 확인
>>> print(re.match('hello|world', 'hello'))
>> 'hello에서 hello 또는 world 있는지 찾아줘.
<re.Match object; span=(0, 5), match='hello'>
** re.search 는 주어진 문장 전체에서 맞는 패턴을 찾아내고, re.match는 주어진 문장의 시작부분부터 비교를 시작한다.
>> 따라서, re.match() 에서는 여러 부분에서 패턴이 일치해도, 왼쪽에서 가장 먼저 만나게 되는 부분을 반환
3. sub(): 패턴과 매치되는 부분을 다른 문자열로 대체
>>> print(re.sub('apple|orange', 'fruit', 'apple box orange tree'))
fruit box fruit tree
'apple box orange tree'을 대상으로 하여 apple이나 orange를 fruit으로 교체해라
** sub(찾을 패턴, 대체할 문자, 대상): 문자열 바꾸기 교체 함수
4. split(): 정규표현 패턴으로 문자열을 분할
>>> print('apple pear grape pineapple orange'.split())
['apple', 'pear', 'grape', 'pineapple', 'orange']
** ''.split(): 하나의 문자열을 일정한 기준으로 잘라서 개별의 리스트 요소로 만드는 함수
자르는 기준은 괄호 안에 있는 것
'프로그래밍 언어 > Python' 카테고리의 다른 글
내가 보려고 정리한 파이썬 함수: type 종류 정리 (숫자형, 문자열, 리스트, 튜플, 딕셔너리) (0) | 2024.02.15 |
---|---|
파이썬 Python 실습 :: 고객 정보 관리 프로그램 만들어보기 (0) | 2024.01.18 |
파이썬 Python 실습 :: 기본적인 파일 사용 정리 함수 (0) | 2024.01.17 |
파이썬 Python 실습 :: 클래스, 인스턴스 (0) | 2024.01.12 |
파이썬 Python 실습 :: 기본적인 함수 사용 정리 함수 (1) | 2024.01.11 |