파이썬 문자열 정규식

정규식 메타문자

메타 문자
.줄바꿈 문자('\n')를 제외한 char 1개
?, +, *연속적으로 패턴이 발생하는 빈도 (ex. 3자리 연속으로 a가 나타난다던가)
?0 또는 1개의 패턴
+1개 이상
*없어도 되고 여러개 있어도 됨.
\w알파벳, 숫자를 포함한 문자 1개( '_' 포함) # \W인 경우; 알파벳과 숫자를 제외한 문자 1개
\d숫자 # \D; 숫자가 아닌 문자 1개
\s화이트 스페이스(공백문자; 띄어쓰기, 줄바꿈, 탭...) # \S; 공백문자가 아닌 문자 1개
\b바운더리. (단어는 공백을 두고 구분)
[..]찾고자 하는 단어 (ex. [0-9]: 0에서 9까지의 1개 문자, [..]: 줄바꿈을 제외한 1개의 문자)
\ 특수문자를 문자로 쓰고 싶을때
^ and $문자열의 맨 앞인지 맨 뒤인지
{n,m}반복의 횟수 지정. (ex. {2,4}: 2번 이상 4번 이하)
a|ba 또는 b
( )하나의 패턴처럼 묶어서 처리
\t, \n, \r탭, 줄바꿈, 리턴

Match object

함수
start( )패턴과 일치하는 시작 인덱스 반환
end( )패턴과 일치하는 끝 인덱스 반환
span( )패턴의 시작과 끝을 튜플로 반환 (start, end)
group( )일치하는 문자열 반환

pattern

import re

pattern = re.compile(str_patter)

pattern 객체를 이용

raw string

pattern 객체 없이 raw string foramt을 사용할 때
(escpe 문자에 영향을 받지않고 사용할 때)

# what is a raw string? 

str1 = 'test \n\\!!'
str2 = r'test \n\\!!'

print(str1)  
print(str2)

좋은 웹페이지 즐겨찾기