본문 바로가기
Python/Python_basic

정규 표현식 ③

by Mr.DonyStark 2024. 1. 28.

□ {n} or {m,n} 반복패턴

  ○ {n} 반복 패턴 생성 : 앞글자가 n번만큼 나오는 패턴

#패턴지정 : D가 두번 나와야함
seventh_pattern = re.compile('AD{2}A')
# 확인
print(seventh_pattern.search('ADA'))
print(seventh_pattern.search('ADDA')) #매칭
print(seventh_pattern.search('ADDDA')) #D가 3번으로 불일치

 

  ○ {m,n} 반복 패턴 생성 : 앞글자가 m에서 n만큼 나나오는 패턴

# 패턴지정 : D가 최소 3번에서 6번 나와야함
eight_pattern = re.compile('AD{3,6}A') 
print(eight_pattern.search('ADDA'))
print(eight_pattern.search('ADDDA')) #매칭
print(eight_pattern.search('ADDDDDDDA'))

 

□ [ ] : 대괄호 안에 있는 문자열이 있다면 문자열들 중 한개라도 or 조건으로 있을 경우 나오는 패턴

# 패턴지정 : a 또는 b 또는 c 또는 d 또는 e 또는 f 또는 g 또는 A 또는 B 또는 C 또는 D 또는 D 또는 E 또는 F 또는 G 가 있는 패턴
nineth_pattern = re.compile('[abcdefgABCDEFG]')
# 확인
print(nineth_pattern.search('a1234')) #매칭
print(nineth_pattern.search('2a34'))	#매칭
print(nineth_pattern.search('12G34'))	#매칭
print(nineth_pattern.search('12F34'))	#매칭
print(nineth_pattern.search('12a3G4'))	#매칭

 

□ [ - ] : 범위 지정을 통한 패턴 

# 패턴지정 : a ~ c 까지 알파벳이 한개라도 있을 경우
tenth_pattern = re.compile('[a-c]')
# 확인
print(tenth_pattern.search('k1234')) 
print(tenth_pattern.search('a1234'))	#일치
print(tenth_pattern.search('z1234'))
print(tenth_pattern.search('b1234'))	#일치
print(tenth_pattern.search('c1234'))	#일치

# 매칭지정 : 소문자 a~z, 대문자 A~Z, 숫자 0~5까지 한개라도 있는 경우
eleventh_pattetn = re.compile('[a-zA-Z0-5]') #소문자 a~z까지, 대문자 A~Z까지, 0~5까지
print(eleventh_pattetn.search('789'))
print(eleventh_pattetn.search('123456')) #매칭
print(eleventh_pattetn.search('*?'))

# 매칭지정 : 소문자 a~z, 대문자 A~Z, 숫자 0~5까지 한개라도 없는 경우 ** ^앞에 쓰면 뒤조건을 부정하는 것을 의미
twowelve_pattetn = re.compile('[^a-zA-Z0-5]')
# 확인
print(twowelve_pattetn.search('789')) #매칭
print(twowelve_pattetn.search('123456')) #매칭
print(twowelve_pattetn.search('*?')) #매칭

# 매칭지정 : 가~힣까지 패턴 지정
thirteenth_pattetn = re.compile('[가-힣]') #한글 가-힣 범위안의 문자 조회
# 확인 
print(thirteenth_pattetn.search('한')) #매칭

 

'Python > Python_basic' 카테고리의 다른 글

클랙스/객체  (0) 2024.01.29
정규 표현식 ④  (0) 2024.01.28
정규 표현식 ②  (0) 2024.01.28
정규 표현식 ①  (0) 2024.01.26
문자열 함수모음  (1) 2024.01.26