전체 소스코드
import re
p = re.compile("ca.e")
# . : 하나의 문자를 의미
# ^ : 문자열의 시작
# $ : 문자열의 끝
def print_match(m):
if m:
print("m.group :", m.group()) # 일치하는 문자열만 반환, 매치되지 않으면 에러 발생, 매칭되면 매칭된 값 출력
print("m.string :", m.string) # 입력받은 문자열 반환, 함수가 아니고 변수라 ()없이 사용
print("m.start :", m.start()) # 일치하는 문자열의 시작 index
print("m.end :", m.end()) # 일치하는 문자열의 끝 index
print("m.span :", m.span()) # 일치하는 문자열의 시작과 끝 index
else:
print("매칭되지 않음")
# m = p.match("good care") # 매칭된 값을 m 변수에 저장
# # 주어진 문자열의 처음부터 일치하는지 확인, 그래서 뒤에 다른게 있어도 상관 x
# print_match(m)
# m = p.search("good care") # 주어진 문자열 중에 일치하는게 있는지 확인
# print_match(m)
# lst = p.findall("good carecasecccafe") # 일치하는 모든 것을 리스트 형태로 반환
# print(lst)
정규식
주민등록번호, 이메일, 차량번호와 같은 것은 정해진 규칙이 있다
주민등록번호는 앞에 6자리 숫자, - 기호, 7자리 숫자
이메일은 앞에 이름, @ 기호, 도메인 이름
차량번호는 숫자 2~3개, 문자 1개, 4자리 숫자
이런 형태를 체크할 때 정규식을 사용한다
import re
p = re.compile("ca.e")
정규식을 쓰려면 정규식 라이브러리가 필요하다
import re를 써주면 정규식을 사용할 수 있다
p라는 변수는 패턴을 의미하고 보통 re.complie()은 p로 받는다
. : 하나의 문자를 의미
^ : 문자열의 시작
$ : 문자열의 끝
가장 간단한 정규식 기호이다
1. p = re.compile("정규식")
보통 p라는 변수로 받음
2. m = p.match("비교할 문자열")
일치하는지 확인하기
.match
|
주어진 문자열의 처음부터 일치하는지 확인,
뒤에 다른 문자가 있어도 상관 x |
.search
|
주어진 문자열 중에 일치하는게 있는지 확인
|
.findall
|
일치하는 모든 것을 리스트 형태로 반환
|
.match는
good care은 매칭되지 않고, careless는 매칭된다
lst = p.findall("good carecasecccafe")를 실행한다면
lst에 ["care", "case", "cafe"]가 저장된다
결과 출력 방법
.group()
|
일치하는 문자열만 반환,
매치되지 않으면 에러 발생, 매칭되면 매칭된 값 출력 |
.start()
|
일치하는 문자열의 시작 index
|
.end()
|
일치하는 문자열의 끝 index
|
.span()
|
일치하는 문자열의 시작과 끝 index
|
string
|
입력받은 문자열 반환, 함수가 아니고 변수라 ()없이 사용
|
'python > webscraping' 카테고리의 다른 글
[Python webscraping] #4 BeautifulSoup (0) | 2022.12.16 |
---|---|
[Python webscraping] #3 User agent (0) | 2022.12.16 |
[Python webscraping] #1 Requests (0) | 2022.12.16 |
댓글