336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
import re
url = '<a href="/Users/hongkun/PycharmProjects/module/koala.jpg"> 그림 </a> <font size = "10">'
print(re.search('href="(.*?)"', url).group(1))
# 정규식 기호의 의미
'''
1) . : 임의의 문자 하나
2) ? : 바로 앞의 문자가 존재하거나 존재하지 않음
3) * : 바로 앞의 문자가 존재하지 않거나 무한대로 존재
4) (문자열) : 문자나 문자열을 묶음
5)[] : 기호 안에 들어 가는 글자들 중 하나
'''
r = re.compile('[ab]') # 찾는 글자나 패턴을 Python에게 전해주는 역
print (r.search('pizza')) # <_sre.SRE_Match object; span=(4, 5), match='a'>
print (r.search('boogieboard')) # <_sre.SRE_Match object; span=(0, 1), match='b'>
print (r.match('pizza')) # none
# search : 해당 패턴이 하나라도 나오면 결과를 출력
# match : 정확한 글자만 출력
print(re.search('[pP]', 'apPle')) # <_sre.SRE_Match object; span=(1, 2), match='p'>
print('.' * 40)
# 임의의 한문자 (.)
r = re.compile('a.c')
print(r.search('abc')) # <_sre.SRE_Match object; span=(0, 3), match='abc'>
print(r.search('afc')) # <_sre.SRE_Match object; span=(0, 3), match='afc'>
print(r.search('ac')) # None
# 문자가 하나 (0 혹은 1_ 존재하거나 존재 하지 않음 (?)
print('?' * 40)
r = re.compile('ck?w')
print(r.search('cw')) # <_sre.SRE_Match object; span=(0, 2), match='cw'>
print(r.search('ckw')) # <_sre.SRE_Match object; span=(0, 3), match='ckw'>
print(r.search('ckkw')) # None
print(r.search('ckk')) # None
print(r.search('kkkw')) # None
# 바로 앞의 문자가 존재하지 않거나 개수와 상관없이 존재 (*)
print('*' * 40)
r = re.compile('ck*w')
print(r.search('cw')) # <_sre.SRE_Match object; span=(0, 2), match='cw'>
print(r.search('ckw')) # <_sre.SRE_Match object; span=(0, 3), match='ckw'>
print(r.search('ckkw')) # <_sre.SRE_Match object; span=(0, 4), match='ckkw'>
print(r.search('ckk')) # None
print(r.search('kkkw')) # None
# 바로 앞의 문자가 한번 이상 존재 (+)
print('+' * 40)
r = re.compile('ck+w')
print(r.search('ckw')) # <_sre.SRE_Match object; span=(0, 3), match='ckw'>
print(r.search('ckkkkkkkkw')) # <_sre.SRE_Match object; span=(0, 10), match='ckkkkkkkkw'>
print(r.search('cw')) # None
# 시작되는 문자를 지정 (^)
print('^' * 40)
r = re.compile('^c')
print(r.search('ckw')) # <_sre.SRE_Match object; span=(0, 1), match='c'>
print(r.search('sjs')) # None
print(r.search('scjs')) # NNone
# 끝난 문자를 지정 ($)
print('$' * 40)
r = re.compile('e$')
print(r.search('apple')) # <_sre.SRE_Match object; span=(4, 5), match='e'>
print(r.search('banana')) # None
# [문자,문자] 기호 - 대괄호 안에 있는 문자들이 존재하는지 검색
print('[]' * 40)
r = re.compile('[abcd]')
print(r.search('pizza')) # <_sre.SRE_Match object; span=(4, 5), match='a'>
print(r.search('mashroom')) # <_sre.SRE_Match object; span=(1, 2), match='a'>
# [^문자,문자] 기호 - ^ 분자들을 제외한 모든 문자 검색
print('[^]' * 40)
print(re.search('[^ap]','apple')) # <_sre.SRE_Match object; span=(3, 4), match='l'>
print(re.search('[^ab]','bread')) # <_sre.SRE_Match object; span=(1, 2), match='r'>
print(re.search('[^ap]','oragne')) # <_sre.SRE_Match object; span=(0, 1), match='o'>
# 연속적인 패턴
print(re.search('[a-g]','apple')) # <_sre.SRE_Match object; span=(0, 1), match='a'>
print(re.search('[0-5]','12345678')) # <_sre.SRE_Match object; span=(0, 1), match='1'>
print(re.search('[가사]','강원도에서')) # None
'''
기호 정규식 설명
\s [\t\n\r\f\v] 공백과 각종 이스케이프 코드
\S [^ \t\n\r\f\v] 공백과 각종 이스케이프 코드를 제외한 문자
\d [0-9] 모든 숫자
\D [^0-9] 숫자를 제외한 모든 문자
\w [a-zA-Z0-9] 모든 알파벳 문자
\W [^a-zA-Z0-9] 모든 알파벳과 숫자를 제외한 문자
'''
#print ('나는 '천재다' 라고 말합니다')
print ('나는 \'천재다\' 라고 말합니다') # 나는 '천재다' 라고 말합니다
print ('나는 "천재다" 라고 말합니다') # 나는 "천재다" 라고 말합니다
# Match Object
print ('*************** Match Object ***************')
print (re.search('\d', '햄버거가 무려 7000 원이나 하다니!!')) # <_sre.SRE_Match object; span=(8, 9), match='7'>
print (re.search('\d+', '햄버거가 무려 7000 원이나 하다니!!')) # <_sre.SRE_Match object; span=(8, 12), match='7000'>
result = re.search('\d+', '햄버거가 무려 7000 원이나 하다니!!')
print (result.start()) # 8 (0부터 시작해서 시작되는 7 지점
print (result.end()) # 12 (끝나는 0의 다음 지점
print (result.span()) # (8,12)
print (result.group()) # 7000 --> 정규식에서 찾으 결과를 출력하는 함수
# search : 문자열 전체에서 정규식에 부합하는 문자열이 있는지 검색
# match : 문자열의 처음이 정규식과 부합하는지 검색
print (re.match('\d+', '2017년은 대항의 시대')) # <_sre.SRE_Match object; span=(0, 4), match='2017'>
print (re.match('\d+', '대항의 시대는 2017년')) # None
# findall : 정규식에 부합하는 모든 뭄ㄴ자열을 리스트로 리턴
print(re.findall('\d+', '오늘은 2017년 11월 21일 입니다^^')) # ['2017', '11', '21']
# split : 주어진 문자열을 특정 패턴을 기준으로 분리함
print(re.split('[:]+]', 'apple orange : grape cherry')) # ['apple orange : grape cherry']
print(re.split('[: ]+', 'apple orange : grape cherry')) # ['apple', 'orange', 'grape', 'cherry']
# sub() : 주어진 패턴과 일치하는 문자를 변경함
print (re.sub('-', '**', '751023-1901813')) # 751023**1901813
'ⓟrogramming > Python' 카테고리의 다른 글
[파이썬] Beautiful Soup 라이브러리 (0) | 2017.11.22 |
---|---|
[파이썬] OS Module (0) | 2017.11.22 |
[파이썬] 문자열 처리 (0) | 2017.11.17 |
[Python] glob — Unix style pathname pattern expansion (0) | 2016.10.21 |
[Python] IDE에서 현재 경로를 잘못 가지고 오는 경우 (0) | 2016.10.21 |