摘要:熟悉python中的正则匹配规则;\w\W \d\D \s\S ; *?+; ^|; () \\ 的用法
import re
def demo_re():
str='zhengguoliang2019wuhan0812csu2012'
p1=re.compile('[\d]+')
p2=re.compile('\d+') # 一个或者一个以上
print(1,p1.findall(str)) # 1 ['2019', '0812', '2012']
print(2,p2.findall(str)) # 2 ['2019', '0812', '2012']
p3=re.compile('[\d]') # 一个
print(3,p3.findall(str)) # 3 ['2', '0', '1', '9', '0', '8', '1', '2', '2', '0', '1', '2']
p4=re.compile('[\d]*') # 0个或者0个以上
print(4,p4.findall(str)) # 4 ['', '', '', '', '', '', '', '', '', '', '', '', '', '2019', '', '', '', '', '', '0812', '', '', '', '2012', '']
p5=re.compile('[\d]?') # 0个或者1个
print(5,p5.findall(str)) # 5 ['', '', '', '', '', '', '', '', '', '', '', '', '', '2', '0', '1', '9', '', '', '', '', '', '0', '8', '1', '2', '', '', '', '2', '0', '1', '2', '']
def demo_ReEmail():
str='dxk@163.com;xkw23-sk@qq.com;xk_sq@huawei.com;xksle23@163.com;xk@qq.com;29sl@125.com;oe920@baidu.com'
p1=re.compile('[\w|-]+@[\w]+\.[\w]+')
print(1,p1.findall(str)) # 1 ['dxk@163.com', 'xkw23-sk@qq.com', 'xk_sq@huawei.com', 'xksle23@163.com', 'xk@qq.com', '29sl@125.com', 'oe920@baidu.com']
p2=re.compile('\w+@[\w]+\.[\w]+')
print(2,p2.findall(str)) # 2 ['dxk@163.com', 'sk@qq.com', 'xk_sq@huawei.com', 'xksle23@163.com', 'xk@qq.com', '29sl@125.com', 'oe920@baidu.com']
p3=re.compile('[\w|-|_]+@[163|baidu]+\.com')
print(3,p3.findall(str)) # 3 ['dxk@163.com', 'xksle23@163.com', 'oe920@baidu.com']
str='x42ls_d;sk+sl@163.com;ske_sk12@152.com'
p4=re.search('\w+@\w+\.\w+',str)
print(4,p4.group()) # 4 sl@163.com
p5=re.search('[\w|-|_]+@[\w|.]+com',str)
print(5,p5.group()) # 5 sl@163.com
def demo_ReHtml():
str='<html><h>title zhks</h><body>hello world 2019!!!</body><html>'
p1=re.compile('<h>[^<]+</h>')
print(1,p1.findall(str)) # 1 ['<h>title zhks</h>']
p2=re.compile('<h>([^>]+)</h>')
print(2,p2.findall(str)) # 2 ['title zhks']
p3=re.compile('<h>([^<]+)</h><body>([^<]+)</body>')
print(3,p3.findall(str)) # 3 [('title zhks', 'hello world 2019!!!')]
def demo_ReTime():
str='xksks-20-2019-08-12-xsleisosak;sdkxls'
p1=re.compile('[\d]{4}-[\d]{2}-[\d]{2}')
print(1,p1.findall(str)) # 1 ['2019-08-12']
def demo_ReMatch():
str='china is a beatiful country!!! chskxkw, so i want to see all'
p1=re.compile('[\w]+nt')
print(1,p1.match(str)) # 1 None
print(2,p1.search(str).group()) # 2 count
print(3,p1.findall(str)) # 3 ['count', 'want']
p2 = re.compile('ch[\w]+')
print(4, p2.match(str).group()) # 4 china
print(5, p2.search(str).group()) # 5 china
print(6, p2.findall(str)) # 6 ['china', 'chskxkw']
if __name__ == '__main__':
demo_ReMatch()