점프 투 파이썬 7강 - 정규 표현식의 기초

Jongsung Shin·2021년 3월 29일

조코딩 Python

목록 보기
8/8

import re
p = re.complie()

import re
p = re.compile('[a-z]+')
m = p.match('python')
print(m)

<re.Match object; span=(0, 6), match='python'>

import re
p = re.compile('[a-z]+')
m = p.match('3 python')
print(m)

3 떄문에 메칭이 안되어 none 이 뜬다.

import re
p = re.compile('[a-z]+')
m = p.search('3 python')
print(m)

search는 3이 있어도 찾는다 라는 느낌이어서
<re.Match object; span=(2, 8), match='python'>
잘 뜬다.

import re
p = re.compile('[a-z]+')
m = p.findall('life is too short')
print(m)

['life', 'is', 'too', 'short']
findall의 경우, 일치하는 string을 list에 담아서 return 해준다

import re
p = re.compile('[a-z]+')
m = p.finditer('life is too short')
for r in m:
print(r)

<re.Match object; span=(0, 4), match='life'>
<re.Match object; span=(5, 7), match='is'>
<re.Match object; span=(8, 11), match='too'>
<re.Match object; span=(12, 17), match='short'>

매치되는 문자열을 다 매치객체 형태로 반복 가능한 객체 하나로 리턴한다.

match 객체의 메서드 1

import re
p = re.compile('[a-z]+')
m = p.match('python')
print(m.group())
print(m.start())
print(m.end())
print(m.span())

python
0
6
(0, 6)

group은 매치된 문자열
start 첫 시작의 인덱스 end는 끝
span 시작과 끝을 튜플 형태로

\d - 숫자와 매치, [0-9]와 동일한 표현식이다.
\D - 숫자가 아닌 것과 매치, [^0-9]와 동일한 표현식이다.
\s - whitespace 문자와 매치, [ \t\n\r\f\v]와 동일한 표현식이다. 맨 앞의 빈 칸은 공백문자(space)를 의미한다.
\S - whitespace 문자가 아닌 것과 매치, [^ \t\n\r\f\v]와 동일한 표현식이다.
\w - 문자+숫자(alphanumeric)와 매치, [a-zA-Z0-9_]와 동일한 표현식이다.
\W - 문자+숫자(alphanumeric)가 아닌 문자와 매치, [^a-zA-Z0-9_]와 동일한 표현식이다.

https://wikidocs.net/4308

필요할 때 마다 구글링해서 찾아보기. 지금 단계에서는 자세히 공부할 필요가 없을 것 같다.

profile
사장님

0개의 댓글