728x90
1. import re
2. findall()
3. sub()
4. match()
5. search()
파이썬에서는 정규표현식을 사용하기 위해 표준 라이브러리인 re 모듈을 사용합니다.
1. import re
파이썬에서 정규표현식을 효과적으로 사용하기 위해 필요한 라이브러리를 임포트 해줘야 합니다.
import re
re는 regular expression의 약자입니다.
2. findall
findall 메서드는 문자열 내에서 특정 패턴과 일치하는 모든 문자열을 리스트로 반환(return)해줍니다.
re.findall(pattern, text)
예시1)
import re
str = 'samsun&apple'
result = re.findall('apple', str)
print(result)
>>> ['apple']
예시2)
import re
str = 'reject_report'
result = re.findall('re[a-z]{3}', str)
print(result)
>>>
['rejec', 'repor']
're[a-z]{3}'는 알파벳 re로 시작하면서 a~z까지의 소문자 중 3개가 뒤따라 오는 단어를 str문자열에서 찾아 출력해주는 코드입니다.
3. sub()
sub() 메서드의 기본구조는 다음과 같습니다.
re.sub(pattern, new, string)
의미는 pattern을 new로 바꾼다. string 안에서
예시1)
import re
str = 'I love coca & pepsi'
result = re.sub('coca|pepsi', 'cola', str)
print(result)
>>>
I love cola & cola
개행문자를 제거해주는 예시)
str = '무궁화\t꽃이\t피었\n습니다.'
result = re.sub('\t|\n', ' ', str)
print(result)
>>>
무궁화 꽃이 피었 습니다.
개행문자인 '\t'과 '\n'를 한칸 띄우는 공백으로 변경해 주었습니다.
txt = '''010-1234-5678 robert
011-4567-8912 kang
'''
result = re.sub('[0-9]{3}-[0-9]{4}-[0-9]{4}', '01*-****-****', txt)
print(result)
>>>
01*-****-**** robert
01*-****-**** kang
고객의 전화번호를 가려주는 코드입니다.
4. match()
기본적인 형식은 다음과 같습니다.
re.match('패턴', '문자열')
print(re.match('Hello', 'Hello, world!'))
>>>
<re.Match object; span=(0, 5), match='Hello'>
5. search()
기본적인 형식은 다음과 같습니다.
re.search(pattern, string)
문자열을 스캔하여 정규식 패턴이 일치하는 첫 번째 위치를 찾습니다. 없다면 None을 리턴합니다.
728x90
'[Python]' 카테고리의 다른 글
[Python] 파이썬 미로 생성 알고리즘 (0) | 2023.11.04 |
---|---|
[Python] 딕셔너리 최댓값, 최솟값 구하기 / 최댓값을 가지는 key 구하기 (0) | 2023.10.05 |
[Python] 파이썬 예외처리(try~except) (0) | 2022.09.17 |
[Python] 파이썬 깊은복사(DeepCopy) (0) | 2022.09.15 |
[Python] 파이썬 : 람다(lambda) 함수 (0) | 2022.08.19 |