728x90
반응형
'''
<정규 표현식 패턴>
*대괄호 [] : 대괄호 안에 있는 문자 중에 하나라도 매치되면 추출
* 점(.) : 앞 뒤 문자의 사이에 보통 주로 사용함. 하나의 문자를 의미함
ex) 예시 -> a.c의 패턴인 경우 "abc" "agc"...
* 반복 (*) : 앞의 문자가 0번 이상 반복될 때 추출
ex) ab*c의 ㅐㅍ턴인 경우 "ac", "abc" , "abbc", "abbbbc"..
*반복(+): 앞의 문자가 1번이상 반복될 때 추출
ex)ab+c의 패턴인 경우 "abc", "abbc", "abbbbc"..
*반복 {m,n} : 앞의 문자가 최소 m번 , 최대 n번 반복될 때 추출 됨
ex) a{2,4} 의 패턴의 경우 "aa", "aaa", "aaaaaa"..
*시작 ^ 과 끝 $ : 각 문자열의 시작과 끝을 나타냄
ex) ^abc패턴 -> "abc"로 시작하는 문자열에 대해 추출
ex) abc$패턴 -> "abc"로 끝나는 문자열에 대해 추출
*물음표 ? : 바로 앞의 문자가 0 또는 1회 나타날 수 있음을 의미함
ex) a? 의 패턴의 경우 "a"또는 ""일때 추출함
*역슬래시 \ : = 이스케이프 라고 읽는다. 특수문자를 일반 문자로 인식하게 한다.
*소괄호() : = 그룹화라 읽는다. 괄호 안의 패턴을 하나의 그룹으로 묶어서 처리가능
ex ) 예시 (abc)+의 패턴인 경우 "abc", "abcabc", "abcabcabc"....
*[0-9] : 0에서 9까지의 숫자중 하나
*[!@#$%^&*(),.?";{}|<>] : 특수 기호중의 하나
*[ㄱ-ㅎㅏ-ㅣ가-힣]: 한글 중 하나
*[a-zA-Z] 알파벳 소문자 또는 대문자 중 하나
*\d : 숫자 중 하나
*\b : 단어의 경계를 나타냄 (보통 문장의 처음과 끝에 제시함)
---> 위 패턴들을 조합해서 사용가능
'''
# <예제> 특정 문자 추출하기
### " abcdefg" 문자열에서 abc에 대한 문자만 추출하기
import re
text = "abcdefg"
### 추출할 패턴 정의하기
pattern = re.compile(r"[abe]")
### text 문자열에서 패턴에 맞는 값만 추출하기
rs_text = pattern.findall(text)
print(rs_text)
['a', 'b', 'e']
# .패털을 이용하기
### 문자열 abcdef g 에서 fㅁfh a 로 시작해서 c로 끝나는 단어 추출하기
text = "abcdefaasdfrc adcfc agcdfadfa734c "
pattern = re.compile(r'a.+c')
re_text = pattern.findall(text)
print(re_text)
['abcdefaasdfrc adcfc agcdfadfa734c']
728x90
반응형
'파이썬' 카테고리의 다른 글
데이터 전처리 연습 (2) | 2023.11.29 |
---|---|
판다스를 활용한 데이터 전처리 (1) | 2023.11.28 |
메모리 절약을 위한 제너레이터 사용 (0) | 2023.11.16 |
메모리 절약 - 이터레이터 (1) | 2023.11.16 |
클로저와 데코레이터 (3) | 2023.11.14 |