티스토리 뷰

카테고리 없음

정규표현식

swanB 2017. 1. 18. 13:00

python re module로 제공 

 - search

 - match

 - findall

 - sub

 - split

 - compile



re.search(query, content)   리턴  _sre.SRE_Match

re.match(query, content)   리턴  _sre.SRE_Match


m = re.search(r'^b\w+', 'banana')

print m.group()  리턴 str



findall(query, content)  리턴 list

sub(query, replace, content)  리턴 str


sub 응용

replace 는 text 가 올 수도 있고 패턴이 올 수도 있다

pattern = r'(\d{3})-(\d{4})-(\d{4})'

replace = r'(\1) \2-\3'


result = re.sub(pattern, replace, '010-3457-6360')

print result


split  - 자르고자 하는 seperator를 정규표현식으로 한번에 씀


a = "one,two three.four*five:six"

print re.split(r'[:,.*\s]*', a)


compile - 정규표현식을 객체로 관리, 한번만 씀 타입은 SRE_Pattern

  정규표현식은 매순간 빌딩을 하는데, compile 을 쓰면 이를 절약할 수 있다


email_reg = re.compile(r'[\w.-]+@[\w.-]+')

m = email_reg.search('What a nice weather macmath22@gmail.com, test@test.com mina@minas.net')





공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함