정규 표현식(Regular Expression) : 문자열에서 특정한 패턴을 찾거나 대체, 추출하는 데 사용되는 문자열 패턴
▪ '\d' : 숫자를 의미함
▪ '\w' : 문자나 숫자, 밑줄 문자(_)를 의미함
▪ '\s' : 공백 문자를 의미함
▪ '+' : 바로 앞에 있는 문자나 문자 클래스가 한 번 이상 반복되는 패턴을 찾음
▪ '{m, n}' : 바로 앞에 있는 문자나 문자 클래스가 m번 이상, n번 이하로 반복되는 패턴을 찾음
ex) 숫자 2개를 추출하기 위한 정규 표현식 : r'\d{2}' <= 숫자(\d)가 2번({2}) 반복되는 패턴을 찾는 것
re.findall(pattern, string, flags=0) : 문자열(string)에서 정규 표현식(pattern)에 매칭되는 모든 부분을 찾아 리스트로 반환한다.
- pattern : 찾고자 하는 문자열 패턴을 나타내는 정규 표현식
- string : 검색 대상이 되는 문자열
- flags : 검색시 옵션을 지정 일반적으로 디폴트 값 0을 사용
위에 정규 표현식을 참고해서 코드를 작성해보았다.
<이어져있는 문자열 구하기>
import re
s = "The quick brown fox jumps over the lazy dog"
result = re.findall(r'\w+', s)
print(result)
결과 :
['The', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']
<숫자만 구하기>
string = "15er34efea456"
number = re.findall(r'\d+', string)
print(number)
결과:
['15', '34', '456']
're'모듈에서 주로 사용되는 함수
▪ re.search(pattern, string, flags=0) : 주어진 문자열(string)에서 정규 표현식(pattern)과 매칭되는 첫 번째 부분을 찾는다. 매칭되는 부분이 없으면 None을 반환한다.
▪ re.match(pattern, string, flags=0) : 문자열(string)의 시작부터 정규 표현식(pattern)과 매칭되는지 검사한다. 매칭되는 부분이 없으면 None을 반환한다.
▪ re.findall(pattern, string, flags=0) : 주어진 문자열(string)에서 정규 표현식(pattern)과 매칭되는 모든 부분을 찾아 리스트로 반환한다. 매칭되는 부분이 없으면 빈 리스트를 반환한다.
▪ re.finditer(pattern, string, flags=0) : 주어진 문자열(string)에서 정규 표현식(pattern)과 매칭되는 모든 부분을 찾아 매칭 객체(match object)를 반환하는 이터레이터(iterator)를 반환한다.
▪ re.sub(pattern, repl, string, count=0, flags=0) : 주어진 문자열(string)에서 정규 표현식(pattern)과 매칭되는 부분을 찾아 다른 문자열(repl)로 대체한다.
▪re.split(pattern, string, maxsplit=0, flags=0) : 주어진 문자열(string)을 정규 표현식(pattern)으로 분리하고, 분리된 문자열을 리스트로 반환한다.
'Algorithm_study > 문법' 카테고리의 다른 글
[Python] 연산자 in, not in (1) | 2023.12.05 |
---|---|
deque (0) | 2023.08.03 |
Python_math.comb() (0) | 2023.05.02 |
Python_itertools모듈의 combinations함수 (0) | 2023.04.28 |
Python_문자열 뒤집기 (0) | 2023.04.28 |